curso sql - leccion 7

Post on 13-Apr-2017

84 Views

Category:

Software

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Programación SQL Lección 7

Visualización de datosdesde varias tablas Usando JOIN

SQL Fundamentals I

Después de completar esta lección, usted debería ser capaz de hacer lo siguiente:

Escribir declaraciones SELECT para acceder a los datos de más de una tabla utilizando equijoins y nonequijoins

Unir a una tabla a sí misma mediante el uso de un self-join

Ver datos que generalmente no responde a una condición de join por utilizando OUTER joins

Generar un producto cartesiano de todas las filas de dos o más tablas

Objetivos

Tipos de JOINS y su sintaxis NATURAL JOIN JOIN con la cláusula USING JOIN con la cláusula ON Self-join Nonequijoins OUTER join::

◦LEFT OUTER join◦RIGHT OUTER join◦FULL OUTER join

Producto cartesiano◦Cross join

Agenda

La obtención de datos de varias tablas

Los Joins que son compatibles con el estándar SQL: 1999 incluye la siguiente: Join Naturales con la cláusula JOIN NATURAL Join con la cláusula de USING Join con la cláusula ON OUTER joins:

◦ LEFT OUTER JOIN◦ RIGHT OUTER JOIN◦ FULL OUTER JOIN

Cross joins

Tipos de Joins

Utilice JOIN para consultar los datos de más de una tabla:

Joins a las Tablas Usando SQL: sintaxis 1999

Utilice prefijos de tabla para calificar los nombres de columna que se encuentran en varias tablas.

Utilice prefijos de tabla para mejorar el rendimiento.

En lugar de utilizar nombres completos de la tabla, utilizar alias de tabla.

Tabla de alias da una tabla un nombre más corto:◦ Mantiene código SQL más pequeño, utiliza menos

memoria Utilice los alias de columna para distinguir

columnas que tienen nombres idénticos, pero residen en diferentes tablas.

Clasificación nombres de columna ambiguas

Tipos de JOINS y su sintaxis NATURAL JOIN JOIN con la cláusula USING JOIN con la cláusula ON Self-join Nonequijoins OUTER join::

◦LEFT OUTER join◦RIGHT OUTER join◦FULL OUTER join

Producto cartesiano◦Cross join

Agenda

La cláusula NATURAL JOIN se basa en todas las columnas las dos tablas que tienen el mismo nombre.

Selecciona las filas de las dos tablas que tienen valores iguales en todas las columnas coincidentes.

Si las columnas que tienen los mismos nombres tienen diferentes datos tipos, se devuelve un error.

Crear Natural JOIN

Obtener registros con NATURAL JOIN

Si hay varias columnas tienen los mismos nombres, pero los datos tipos no coinciden, utilice la cláusula USING para especificar el columnas para el equijoin.

Utilice la cláusula USING para que coincida con una sola columna cuando más de una columna coincide.

El NATURAL JOIN y cláusulas USING son mutuamente exclusiva.

Creando JOINS con la cláusula USING

Joining nombres de columna

Obtener registros con la cláusula USING

No calificar una columna que se utiliza en la cláusula USING.

Si la misma columna se utiliza en otras partes del SQL declaración, no usar un alias.

Alias de tablas con la Cláusula USING

La condición de JOIN para un NATUAL JOIN es básicamente un equijoin de todas las columnas con el mismo nombre.

Utilice la cláusula ON para especificar las condiciones arbitrarias o especificar columnas a realizar el JON.

La condición de JOIN se separa de otra búsqueda condiciones.

La cláusula ON hace que el código fácil de entender.

Creación de JOIN con la cláusula ON

Obtener registros con la cláusula ON

Creación de Three-Way Joins con la cláusula ON

Utilice la cláusula AND o la cláusula WHERE para aplicar condiciones adicionales :

La aplicación de condiciones adicionales a un JOIN

Tipos de JOINS y su sintaxis NATURAL JOIN JOIN con la cláusula USING JOIN con la cláusula ON Self-join Nonequijoins OUTER join::

◦LEFT OUTER join◦RIGHT OUTER join◦FULL OUTER join

Producto cartesiano◦Cross join

Agenda

JOIN de una tabla consigo misma

Self-Joins usando cláusula ON

Tipos de JOINS y su sintaxis NATURAL JOIN JOIN con la cláusula USING JOIN con la cláusula ON Self-join Nonequijoins OUTER join::

◦LEFT OUTER join◦RIGHT OUTER join◦FULL OUTER join

Producto cartesiano◦Cross join

Agenda

La tabla JOB_GRADES define el LOWEST_SAL y HIGHEST_SAL que son la gama de valores para cada GRADE_LEVEL. Por lo tanto, la columna puede GRADE_LEVEL se utilizará para asignar calificaciones a cada los empleados

Nonequijoins

Recuperación de Registros con Nonequijoins

Tipos de JOINS y su sintaxis NATURAL JOIN JOIN con la cláusula USING JOIN con la cláusula ON Self-join Nonequijoins OUTER join::

◦LEFT OUTER join◦RIGHT OUTER join◦FULL OUTER join

Producto cartesiano◦Cross join

Agenda

Retornar registros sin macheo directo usando combinaciones externas

En SQL: 1999, la unión de dos tablas devolviendo sólo acertaron filas se denomina INNER join.

Una combinación entre dos tablas que devuelve los resultados del INNER join así como las filas no coincidentes de la izquierda (o derecha) tabla se llama a la izquierda (o derecha) OUTER join.

Un JOIN entre dos tablas que devuelve los resultados de un INNER join, así como los resultados de la izquierda y la derecha se unen es una completa OUTER join.

INNER Versus OUTER JOINs

LEFT OUTER JOIN

RIGHT OUTER JOIN

FULL OUTER JOIN

Tipos de JOINS y su sintaxis NATURAL JOIN JOIN con la cláusula USING JOIN con la cláusula ON Self-join Nonequijoins OUTER join::

◦LEFT OUTER join◦RIGHT OUTER join◦FULL OUTER join

Producto cartesiano◦Cross join

Agenda

Un producto cartesiano se forma cuando:◦ Una condición de JOIN se omite◦ Una condición de JOIN no es válido◦ Todas las filas de la primera tabla se unen a todas

las filas en el segunda tabla Incluya siempre una condición de unión

válida si se quiere evitar un Producto cartesiano.

Productos cartesianos

Generación de un producto cartesiano

La cláusula CROSS JOIN produce el producto cruzado de dos tablas.

Esto también se llama un producto cartesiano entre los dos tablas.

Crear Cross Joins

El estándar SQL:1999 agrega soporte de sintaxis a los siguientes tipos de JOINS. Cuales seis de esos JOINS ORACLE fue quien le dio la sintaxis para el soporte?a. Equijoinsb. Nonequijoinsc. LEFT OUTER JOINd. Right OUTER joine. Full OUTER joinf. Self joinsg. Natural Joinsh. Cartesian products

Examen

En esta lección, debe haber aprendido a utilizar JOINS para mostrar los datos de varias tablas mediante el uso de: Equijoins Nonequijoins OUTER joins Self-joins Cross joins Natural joins Full (or two-sided) OUTER joins

Resumen

Esta práctica se abordan los siguientes temas: JOINS a tablas utilizando un equijoin Realizar outer y self-joins Agregar condiciones

Práctica 7: Información general

¿Preguntas?

Emmanuel OrtizConsultor Sr.emmanueltiz@gmail.comemail  / gtalkemmanueltizSkype

top related