SlideShare una empresa de Scribd logo
10/07/25 I D A T 1
CONSULTAS A PARTIR DE
MULTIPLES TABLAS
Prof. Javier Rosales Guerra
10/07/25 I D A T 2
Consultas a partir de múltiples
tablas
 La mayoría de consultas requiere que se lean datos de
dos o más tablas, por ejemplo:
 Una lista de las facturas con sus respectivos montos
(tablas Facturas y Detalle de Facturas)
 Una lista de productos con sus respectivos
proveedores (tablas Productos y Proveedores)
 Lista de ordenes de compra donde muestre el nombre
del proveedor, el nombre del producto, el importe de
la orden (tablas Proveedor, Producto, Orden y Orden
Detalle)
10/07/25 I D A T 3
JOIN
 La instrucción JOIN permite seleccionar columnas de una
o más tablas y las visualiza en un único conjunto de
resultados.
SELECT Lista_de_Campos
FROM Tabla1
Tipo_join JOIN Tabla2 ON Condición_del_join
 Lista_de_Campos: Es la lista de columnas que se
desea mostrar en la consulta
 Tipo_join: Es el tipo de join que se desea utilizar
INNER (Interior), OUTER (exterior) o CROSS
(irrestricto).
 Condicion_del_join: Determina en base a qué campos
de las tablas se establece la relación entre las tablas
10/07/25 I D A T 4
Tipos de Join
 La sentencia JOIN en SQL permite combinar registros de
dos o más tablas en una base de datos relacional.
 En el Lenguaje de Consultas Estructurado (SQL), hay tres
tipos de JOIN: interno (Inner), externo(Outer), y cruzado
(Cross).
Tipo de Join Resultado
Inner Join Solo las filas que cumplen la condición de la combinación
Cross Join Todas las combinaciones posibles entre las filas de las tablas
a combinar
Outer Join Las filas que cumplen la condición de la combinación y
además las filas que no satisfacen la combinación, estas
filas pueden provenir de la tabla izquierda (left outer join),
de la tabla derecha (right outer join), o de ambas tablas
(full outer join)
10/07/25 I D A T 5
Tablas de ejemplo
Tabla: Empleados Tabla: Departamentos
CREATE TABLE
EMPLEADOS(
APELLIDOS VARCHAR(25),
IDDPTO CHAR(2)
)
CREATE TABLE
DEPARTAMENTOS(
IDDPTO CHAR(2),
NOMDPTO VARCHAR(30)
)
10/07/25 I D A T 6
Tablas de ejemplo
 La tabla Empleados contiene a los empleados con el
número del departamento al que pertenecen
 La tabla Departamentos, contiene el nombre de los
departamentos de la empresa
 Existe un empleado que tiene asignado un número de
departamento que no se encuentra en la tabla
Departamento s (Mena)
 En la tabla Departamento existe un departamento al
cual no pertenece empleado alguno (Marketing).
10/07/25 I D A T 7
Combinación interna (INNER
JOIN)
 Con esta operación se calcula el producto cruzado de
todos los registros.
 Cada registro en la tabla A es combinado con cada
registro de la tabla B; pero sólo permanecen aquellos
registros en la tabla combinada que satisfacen las
condiciones que se especifiquen.
 Este es el tipo de JOIN más utilizado por lo que es
considerado el tipo de combinación predeterminado
10/07/25 I D A T 8
Combinación interna (INNER
JOIN)
 SQL especifica dos formas diferentes para expresar
estas combinaciones.
 La primera, conocida como explícita:
 Usa la palabra JOIN
 La segunda es implícita:
 Usa ',' para separar las tablas a combinar en la
sentencia FROM de la declaración SELECT.
 Entonces siempre se genera el producto cruzado del
cual se seleccionan las combinaciones que cumplan lo
que indica la sentencia WHERE.
10/07/25 I D A T 9
INNER JOIN explícita:
 Ejemplo:
SELECT *
FROM empleados
INNER JOIN departamentos
ON Empleados.IDdpto = Departamentos.IdDpto
10/07/25 I D A T 10
INNER JOIN implícita:
 Ejemplo:
SELECT *
FROM Empleados, Departamentos
WHERE Empleados.IdDpto = Departamentos.IdDpto
10/07/25 I D A T 11
Combinación interna (INNER
JOIN)
 El empleado Mena y el departamento de Marketing no
son presentados en los resultados ya que ninguno de
éstos tiene registros correspondientes en la otra
tabla.
 No existe un departamento con número 50.
10/07/25 I D A T 12
theta-join.
 A la combinación que utiliza comparaciones dentro del
predicado JOIN se le llama theta-join.
SELECT *
FROM Empleados
INNER JOIN Departamentos
ON Empleados.IdDpto < Departamentos.IdDpto
10/07/25 I D A T 13
Clasificación de INNER JOIN
 Las operaciones INNER JOIN puede ser clasificadas
como:
 De equivalencia
 Naturales y
 Cruzadas
10/07/25 I D A T 14
De equivalencia (equi-join)
 Usa comparaciones de igualdad en el predicado JOIN.
 Cuando se usan operadores, tales como < o > no se puede
clasificar en este rango.
 Ejemplo:
SELECT *
FROM Empleados
INNER JOIN Departamentos
ON Empleados.IdDpto = Departamentos.IdDpto
10/07/25 I D A T 15
Natural (Natural join)
 Es una especialización de la combinación de equivalencia,
anteriormente mencionada.
 En este caso se comparan todas las columnas que tengan el
mismo nombre en ambas tablas.
 La tabla resultante contiene sólo una columna por cada par
de columnas con el mismo nombre.
10/07/25 I D A T 16
Cruzada (Cross join)
 Presenta el producto cartesiano
de todos los registros de las
dos tablas.
 El código SQL para realizar este
producto cartesiano enuncia las
tablas que serán combinadas,
pero no incluye algún predicado
que filtre el resultado.
 Ejemplo:
SELECT *
FROM Empleados CROSS JOIN
Departamentos
10/07/25 I D A T 17
Cruzada implícita
 Ejemplo:
SELECT *
FROM Empleados,
Departamentos
10/07/25 I D A T 18
Combinación externa (OUTER JOIN)
 Mediante esta operación no se requiere que cada registro en
las tablas a tratar tenga un registro equivalente en la otra
tabla.
 El registro es mantenido en la tabla combinada si no existe
otro registro que le corresponda.
 En SQL no existe una notación implícita para las
combinaciones externas.
 Este tipo de operación se subdivide dependiendo de la tabla
a la cual se le admitirán los registros que no tienen
correspondencia, ya sean de:
 Tabla Izquierda
 Tabla derecha o
 Combinación completa.
10/07/25 I D A T 19
De tabla izquierda (LEFT OUTER
JOIN)
 El resultado de esta operación siempre contiene todos los
registros de la tabla de la izquierda (la primera tabla que se
menciona en la consulta), aun cuando no exista un registro
correspondiente en la tabla de la derecha, para uno de la
izquierda.
 La sentencia LEFT OUTER JOIN retorna la pareja de todos los
valores de la tabla izquierda con los valores de la tabla de la
derecha correspondientes, o retorna un valor nulo NULL en
caso de no correspondencia.
 A diferencia del resultado presentado en los ejemplos A y B (de
combinación interna) donde no se mostraba el empleado cuyo
departamento no existía; en el siguiente ejemplo se presentarán
los empleados con su respectivo departamento, e inclusive se
presentará el empleado, cuyo departamento no existe.
10/07/25 I D A T 20
De tabla izquierda (LEFT OUTER
JOIN)
 Ejemplo:
SELECT distinct *
FROM Empleados
LEFT OUTER JOIN Departamentos
ON Empleados.IdDpto = Departamentos.IdDpto
10/07/25 I D A T 21
De tabla derecha (RIGHT OUTER
JOIN)
 Esta operación es inversa a la anterior; el resultado de esta
operación siempre contiene todos los registros de la tabla
de la derecha (la segunda tabla que se menciona en la
consulta), aun cuando no exista un registro correspondiente
en la tabla de la izquierda, para uno de la derecha.
 La sentencia RIGHT OUTER JOIN retorna la pareja de
todos los valores de la tabla derecha con los valores de la
tabla de la izquierda correspondientes, o retorna un valor
nulo NULL en caso de no correspondencia.
10/07/25 I D A T 22
De tabla derecha (RIGHT OUTER
JOIN)
 Ejemplo:
SELECT *
FROM Empleados
RIGHT OUTER JOIN Departamentos
ON Empleados.IdDpto = Departamentos.IdDpto
10/07/25 I D A T 23
Combinación completa (FULL OUTER
JOIN)
 Esta operación presenta los resultados de tabla izquierda y
tabla derecha aunque no tengan correspondencia en la otra
tabla.
 La tabla combinada contendrá, entonces, todos los registros
de ambas tablas y presentará valores nulos NULLs para
registros sin pareja.
 Ejemplo:
SELECT *
FROM Empleados
FULL OUTER JOIN Departamentos
ON Empleados.IdDpto = Departamentos.IdDpto

Más contenido relacionado

PDF
PPTX
Los inner join- Giovanna Miramontes 3aps Cecyte bc
DOC
Consultas multitabla clase
PDF
PPSX
Curso SQL - Leccion 7
PDF
Ipv6
PPTX
Caso de estudio joins
DOCX
Principales tipos de joins en sql
Los inner join- Giovanna Miramontes 3aps Cecyte bc
Consultas multitabla clase
Curso SQL - Leccion 7
Ipv6
Caso de estudio joins
Principales tipos de joins en sql

Similar a CONSULTA DE TABLAS CON MULTIEPLES TABLAS SQL.ppt (20)

DOCX
Consultas multitabl1 sql
PPTX
MANEJO DE CONSULTAS MULTITABLA COMO JOIN EN ACCESS Y SQL
PDF
Multi tablas
PDF
Guía 03. Consultas MySQL sobre varias tablas. Composición interna - José J Sá...
PPTX
PPTX
Tipos de JOIN en SQL.pptx
PPTX
DOC
Sql1 multitablas
PDF
Resumen de los operadores Join en el lenguajeSQL
PPTX
Tisc 2-expocicion1 hugp calderon alexis chavez grupo 3
PPTX
Combinacion de consultas y consultas multitablas
PDF
Introducción a JOINS, CTE, APPLY y SUBCONSULTAS
PDF
Guía 04. Consultas MySQL sobre varias tablas. Composición externa - José J Sá...
PPTX
Combinacion de consultas y consultas multitablas
PPTX
Combinacion de consultas y consultas multitablas
PDF
para trabajar en mysql y hacer consultasJoin-vistas.pdf
DOCX
SENTENCIAS DE SQL SERVER
PPT
BD_L8_EXP_ROZIC_CAP9_SQL
PPTX
Consultas com
PPTX
Expo consul.
Consultas multitabl1 sql
MANEJO DE CONSULTAS MULTITABLA COMO JOIN EN ACCESS Y SQL
Multi tablas
Guía 03. Consultas MySQL sobre varias tablas. Composición interna - José J Sá...
Tipos de JOIN en SQL.pptx
Sql1 multitablas
Resumen de los operadores Join en el lenguajeSQL
Tisc 2-expocicion1 hugp calderon alexis chavez grupo 3
Combinacion de consultas y consultas multitablas
Introducción a JOINS, CTE, APPLY y SUBCONSULTAS
Guía 04. Consultas MySQL sobre varias tablas. Composición externa - José J Sá...
Combinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablas
para trabajar en mysql y hacer consultasJoin-vistas.pdf
SENTENCIAS DE SQL SERVER
BD_L8_EXP_ROZIC_CAP9_SQL
Consultas com
Expo consul.
Publicidad

Último (14)

PDF
CAPACITACIÓN MIPIG - MODELO INTEGRADO DE PLANEACIÓN Y GESTIÓN
PPTX
Evolución de la computadora ACTUALMENTE.pptx
PPTX
Plantilla-Hardware-Informático-oficce.pptx
PDF
Herramientaa de google google keep, maps.pdf
PDF
[Ebook gratuito] Introducción a la IA Generativa, Instalación y Configuración...
PDF
Frases de Fidel Castro. Compilación Norelys Morales Aguilera
PPTX
Guia de power bi de cero a avanzado detallado
PPTX
Presentación de un estudio de empresa pp
PPTX
presentacion_energias_renovables_renovable_.pptx
PPTX
Qué es Google Classroom Insertar SlideShare U 6.pptx
PPTX
PRESENTACION NIA 220 idhsahdjhJKSDHJKSHDJSHDJKHDJHSAJDHJKSAHDJkhjskdhasjdhasj...
PDF
LA INTELIGENCIA ARTIFICAL SU HISTORIA Y EL FUTURO
PPT
laser seguridad a la salud humana de piel y vision en laser clase 4
PPTX
FUNCIONES DE CLASSROOM EN EL FUNCIONAMIENTO ESCOLAR
CAPACITACIÓN MIPIG - MODELO INTEGRADO DE PLANEACIÓN Y GESTIÓN
Evolución de la computadora ACTUALMENTE.pptx
Plantilla-Hardware-Informático-oficce.pptx
Herramientaa de google google keep, maps.pdf
[Ebook gratuito] Introducción a la IA Generativa, Instalación y Configuración...
Frases de Fidel Castro. Compilación Norelys Morales Aguilera
Guia de power bi de cero a avanzado detallado
Presentación de un estudio de empresa pp
presentacion_energias_renovables_renovable_.pptx
Qué es Google Classroom Insertar SlideShare U 6.pptx
PRESENTACION NIA 220 idhsahdjhJKSDHJKSHDJSHDJKHDJHSAJDHJKSAHDJkhjskdhasjdhasj...
LA INTELIGENCIA ARTIFICAL SU HISTORIA Y EL FUTURO
laser seguridad a la salud humana de piel y vision en laser clase 4
FUNCIONES DE CLASSROOM EN EL FUNCIONAMIENTO ESCOLAR
Publicidad

CONSULTA DE TABLAS CON MULTIEPLES TABLAS SQL.ppt

  • 1. 10/07/25 I D A T 1 CONSULTAS A PARTIR DE MULTIPLES TABLAS Prof. Javier Rosales Guerra
  • 2. 10/07/25 I D A T 2 Consultas a partir de múltiples tablas  La mayoría de consultas requiere que se lean datos de dos o más tablas, por ejemplo:  Una lista de las facturas con sus respectivos montos (tablas Facturas y Detalle de Facturas)  Una lista de productos con sus respectivos proveedores (tablas Productos y Proveedores)  Lista de ordenes de compra donde muestre el nombre del proveedor, el nombre del producto, el importe de la orden (tablas Proveedor, Producto, Orden y Orden Detalle)
  • 3. 10/07/25 I D A T 3 JOIN  La instrucción JOIN permite seleccionar columnas de una o más tablas y las visualiza en un único conjunto de resultados. SELECT Lista_de_Campos FROM Tabla1 Tipo_join JOIN Tabla2 ON Condición_del_join  Lista_de_Campos: Es la lista de columnas que se desea mostrar en la consulta  Tipo_join: Es el tipo de join que se desea utilizar INNER (Interior), OUTER (exterior) o CROSS (irrestricto).  Condicion_del_join: Determina en base a qué campos de las tablas se establece la relación entre las tablas
  • 4. 10/07/25 I D A T 4 Tipos de Join  La sentencia JOIN en SQL permite combinar registros de dos o más tablas en una base de datos relacional.  En el Lenguaje de Consultas Estructurado (SQL), hay tres tipos de JOIN: interno (Inner), externo(Outer), y cruzado (Cross). Tipo de Join Resultado Inner Join Solo las filas que cumplen la condición de la combinación Cross Join Todas las combinaciones posibles entre las filas de las tablas a combinar Outer Join Las filas que cumplen la condición de la combinación y además las filas que no satisfacen la combinación, estas filas pueden provenir de la tabla izquierda (left outer join), de la tabla derecha (right outer join), o de ambas tablas (full outer join)
  • 5. 10/07/25 I D A T 5 Tablas de ejemplo Tabla: Empleados Tabla: Departamentos CREATE TABLE EMPLEADOS( APELLIDOS VARCHAR(25), IDDPTO CHAR(2) ) CREATE TABLE DEPARTAMENTOS( IDDPTO CHAR(2), NOMDPTO VARCHAR(30) )
  • 6. 10/07/25 I D A T 6 Tablas de ejemplo  La tabla Empleados contiene a los empleados con el número del departamento al que pertenecen  La tabla Departamentos, contiene el nombre de los departamentos de la empresa  Existe un empleado que tiene asignado un número de departamento que no se encuentra en la tabla Departamento s (Mena)  En la tabla Departamento existe un departamento al cual no pertenece empleado alguno (Marketing).
  • 7. 10/07/25 I D A T 7 Combinación interna (INNER JOIN)  Con esta operación se calcula el producto cruzado de todos los registros.  Cada registro en la tabla A es combinado con cada registro de la tabla B; pero sólo permanecen aquellos registros en la tabla combinada que satisfacen las condiciones que se especifiquen.  Este es el tipo de JOIN más utilizado por lo que es considerado el tipo de combinación predeterminado
  • 8. 10/07/25 I D A T 8 Combinación interna (INNER JOIN)  SQL especifica dos formas diferentes para expresar estas combinaciones.  La primera, conocida como explícita:  Usa la palabra JOIN  La segunda es implícita:  Usa ',' para separar las tablas a combinar en la sentencia FROM de la declaración SELECT.  Entonces siempre se genera el producto cruzado del cual se seleccionan las combinaciones que cumplan lo que indica la sentencia WHERE.
  • 9. 10/07/25 I D A T 9 INNER JOIN explícita:  Ejemplo: SELECT * FROM empleados INNER JOIN departamentos ON Empleados.IDdpto = Departamentos.IdDpto
  • 10. 10/07/25 I D A T 10 INNER JOIN implícita:  Ejemplo: SELECT * FROM Empleados, Departamentos WHERE Empleados.IdDpto = Departamentos.IdDpto
  • 11. 10/07/25 I D A T 11 Combinación interna (INNER JOIN)  El empleado Mena y el departamento de Marketing no son presentados en los resultados ya que ninguno de éstos tiene registros correspondientes en la otra tabla.  No existe un departamento con número 50.
  • 12. 10/07/25 I D A T 12 theta-join.  A la combinación que utiliza comparaciones dentro del predicado JOIN se le llama theta-join. SELECT * FROM Empleados INNER JOIN Departamentos ON Empleados.IdDpto < Departamentos.IdDpto
  • 13. 10/07/25 I D A T 13 Clasificación de INNER JOIN  Las operaciones INNER JOIN puede ser clasificadas como:  De equivalencia  Naturales y  Cruzadas
  • 14. 10/07/25 I D A T 14 De equivalencia (equi-join)  Usa comparaciones de igualdad en el predicado JOIN.  Cuando se usan operadores, tales como < o > no se puede clasificar en este rango.  Ejemplo: SELECT * FROM Empleados INNER JOIN Departamentos ON Empleados.IdDpto = Departamentos.IdDpto
  • 15. 10/07/25 I D A T 15 Natural (Natural join)  Es una especialización de la combinación de equivalencia, anteriormente mencionada.  En este caso se comparan todas las columnas que tengan el mismo nombre en ambas tablas.  La tabla resultante contiene sólo una columna por cada par de columnas con el mismo nombre.
  • 16. 10/07/25 I D A T 16 Cruzada (Cross join)  Presenta el producto cartesiano de todos los registros de las dos tablas.  El código SQL para realizar este producto cartesiano enuncia las tablas que serán combinadas, pero no incluye algún predicado que filtre el resultado.  Ejemplo: SELECT * FROM Empleados CROSS JOIN Departamentos
  • 17. 10/07/25 I D A T 17 Cruzada implícita  Ejemplo: SELECT * FROM Empleados, Departamentos
  • 18. 10/07/25 I D A T 18 Combinación externa (OUTER JOIN)  Mediante esta operación no se requiere que cada registro en las tablas a tratar tenga un registro equivalente en la otra tabla.  El registro es mantenido en la tabla combinada si no existe otro registro que le corresponda.  En SQL no existe una notación implícita para las combinaciones externas.  Este tipo de operación se subdivide dependiendo de la tabla a la cual se le admitirán los registros que no tienen correspondencia, ya sean de:  Tabla Izquierda  Tabla derecha o  Combinación completa.
  • 19. 10/07/25 I D A T 19 De tabla izquierda (LEFT OUTER JOIN)  El resultado de esta operación siempre contiene todos los registros de la tabla de la izquierda (la primera tabla que se menciona en la consulta), aun cuando no exista un registro correspondiente en la tabla de la derecha, para uno de la izquierda.  La sentencia LEFT OUTER JOIN retorna la pareja de todos los valores de la tabla izquierda con los valores de la tabla de la derecha correspondientes, o retorna un valor nulo NULL en caso de no correspondencia.  A diferencia del resultado presentado en los ejemplos A y B (de combinación interna) donde no se mostraba el empleado cuyo departamento no existía; en el siguiente ejemplo se presentarán los empleados con su respectivo departamento, e inclusive se presentará el empleado, cuyo departamento no existe.
  • 20. 10/07/25 I D A T 20 De tabla izquierda (LEFT OUTER JOIN)  Ejemplo: SELECT distinct * FROM Empleados LEFT OUTER JOIN Departamentos ON Empleados.IdDpto = Departamentos.IdDpto
  • 21. 10/07/25 I D A T 21 De tabla derecha (RIGHT OUTER JOIN)  Esta operación es inversa a la anterior; el resultado de esta operación siempre contiene todos los registros de la tabla de la derecha (la segunda tabla que se menciona en la consulta), aun cuando no exista un registro correspondiente en la tabla de la izquierda, para uno de la derecha.  La sentencia RIGHT OUTER JOIN retorna la pareja de todos los valores de la tabla derecha con los valores de la tabla de la izquierda correspondientes, o retorna un valor nulo NULL en caso de no correspondencia.
  • 22. 10/07/25 I D A T 22 De tabla derecha (RIGHT OUTER JOIN)  Ejemplo: SELECT * FROM Empleados RIGHT OUTER JOIN Departamentos ON Empleados.IdDpto = Departamentos.IdDpto
  • 23. 10/07/25 I D A T 23 Combinación completa (FULL OUTER JOIN)  Esta operación presenta los resultados de tabla izquierda y tabla derecha aunque no tengan correspondencia en la otra tabla.  La tabla combinada contendrá, entonces, todos los registros de ambas tablas y presentará valores nulos NULLs para registros sin pareja.  Ejemplo: SELECT * FROM Empleados FULL OUTER JOIN Departamentos ON Empleados.IdDpto = Departamentos.IdDpto