Curso SQL - Leccion 7
-
Upload
emmanuel-ortiz-gutierrez -
Category
Software
-
view
82 -
download
2
Transcript of Curso SQL - Leccion 7
![Page 1: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/1.jpg)
Programación SQL Lección 7
![Page 2: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/2.jpg)
Visualización de datosdesde varias tablas Usando JOIN
SQL Fundamentals I
![Page 3: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/3.jpg)
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
![Page 4: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/4.jpg)
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
![Page 5: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/5.jpg)
La obtención de datos de varias tablas
![Page 6: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/6.jpg)
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
![Page 7: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/7.jpg)
Utilice JOIN para consultar los datos de más de una tabla:
Joins a las Tablas Usando SQL: sintaxis 1999
![Page 8: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/8.jpg)
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
![Page 9: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/9.jpg)
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
![Page 10: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/10.jpg)
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
![Page 11: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/11.jpg)
Obtener registros con NATURAL JOIN
![Page 12: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/12.jpg)
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
![Page 13: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/13.jpg)
Joining nombres de columna
![Page 14: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/14.jpg)
Obtener registros con la cláusula USING
![Page 15: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/15.jpg)
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
![Page 16: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/16.jpg)
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
![Page 17: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/17.jpg)
Obtener registros con la cláusula ON
![Page 18: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/18.jpg)
Creación de Three-Way Joins con la cláusula ON
![Page 19: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/19.jpg)
Utilice la cláusula AND o la cláusula WHERE para aplicar condiciones adicionales :
La aplicación de condiciones adicionales a un JOIN
![Page 20: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/20.jpg)
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
![Page 21: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/21.jpg)
JOIN de una tabla consigo misma
![Page 22: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/22.jpg)
Self-Joins usando cláusula ON
![Page 23: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/23.jpg)
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
![Page 24: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/24.jpg)
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
![Page 25: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/25.jpg)
Recuperación de Registros con Nonequijoins
![Page 26: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/26.jpg)
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
![Page 27: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/27.jpg)
Retornar registros sin macheo directo usando combinaciones externas
![Page 28: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/28.jpg)
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
![Page 29: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/29.jpg)
LEFT OUTER JOIN
![Page 30: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/30.jpg)
RIGHT OUTER JOIN
![Page 31: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/31.jpg)
FULL OUTER JOIN
![Page 32: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/32.jpg)
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
![Page 33: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/33.jpg)
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
![Page 34: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/34.jpg)
Generación de un producto cartesiano
![Page 35: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/35.jpg)
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
![Page 36: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/36.jpg)
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
![Page 37: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/37.jpg)
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
![Page 38: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/38.jpg)
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
![Page 39: Curso SQL - Leccion 7](https://reader037.fdocument.pub/reader037/viewer/2022102601/58a0829c1a28ab19098b7265/html5/thumbnails/39.jpg)
¿Preguntas?