Visualización de datos
desde 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
 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
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
 Utilice JOIN para consultar los datos de
más de una tabla:
 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.
 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
 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.
 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.
 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.
 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.
 Utilice la cláusula AND o la cláusula
WHERE para aplicar condiciones
adicionales :
 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
 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
 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
 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
 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.
 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
 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.
 La cláusula CROSS JOIN produce el producto
cruzado de dos tablas.
 Esto también se llama un producto cartesiano entre
los dos tablas.
 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. Equijoins
b. Nonequijoins
c. LEFT OUTER JOIN
d. Right OUTER join
e. Full OUTER join
f. Self joins
g. Natural Joins
h. Cartesian products
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
Esta práctica se abordan los siguientes temas:
 JOINS a tablas utilizando un equijoin
 Realizar outer y self-joins
 Agregar condiciones
Emmanuel Ortiz
Consultor Sr.
emmanueltiz@gmail.com
email / gtalk
emmanueltiz
Skype

Curso SQL - Leccion 7

  • 2.
    Visualización de datos desdevarias tablas Usando JOIN SQL Fundamentals I
  • 3.
     Después decompletar 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
  • 4.
     Tipos deJOINS 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
  • 6.
    Los Joins queson 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
  • 7.
     Utilice JOINpara consultar los datos de más de una tabla:
  • 8.
     Utilice prefijosde 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.
  • 9.
     Tipos deJOINS 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
  • 10.
     La cláusulaNATURAL 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.
  • 12.
     Si hayvarias 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.
  • 15.
     No calificaruna 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.
  • 16.
     La condiciónde 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.
  • 19.
     Utilice lacláusula AND o la cláusula WHERE para aplicar condiciones adicionales :
  • 20.
     Tipos deJOINS 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
  • 23.
     Tipos deJOINS 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
  • 24.
     La tablaJOB_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
  • 26.
     Tipos deJOINS 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
  • 28.
     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.
  • 32.
     Tipos deJOINS 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
  • 33.
     Un productocartesiano 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.
  • 35.
     La cláusulaCROSS JOIN produce el producto cruzado de dos tablas.  Esto también se llama un producto cartesiano entre los dos tablas.
  • 36.
     El estándarSQL: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. Equijoins b. Nonequijoins c. LEFT OUTER JOIN d. Right OUTER join e. Full OUTER join f. Self joins g. Natural Joins h. Cartesian products
  • 37.
    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
  • 38.
    Esta práctica seabordan los siguientes temas:  JOINS a tablas utilizando un equijoin  Realizar outer y self-joins  Agregar condiciones
  • 40.