Está en la página 1de 34

Clase 08.

Data Analytics

JOIN y UNION
● Diseñar consultas SQL implementando
Join y Union
OBJETIVOS DE LA CLASE ● Desarrollar consultas compuestas
OBJETIVO: SQL PARA ANALISTAS DE DATOS

CLASE 8
• JOIN Y UNION 5
CLASE 7
4 • SUBCONSULTAS
CLASE 6 • FUNCIONES ESCALARES
• DEFINICIÓN Y
MANIPULACIÓN DE DATOS.
3
• SENTENCIAS COMUNES
CLASE 5
• SINTAXIS SQL Y SUS
2 CARACTERISTICAS
• SUBLENGUAJE DML

CLASE 4
• SUBLENGUAJE DDL 1
• INTRODUCCION LENGUAJE SQL.
¡PARA RECORDAR!

Antes de iniciar la clase, abrir la aplicación SQL


Management Studio y dejarla cargando.
JOIN Y UNION
CONCEPTO

La cláusula JOIN permite combinar SELECT Columna1, Columna2, ...


registros de diferentes tablas. Se FROM NombreDeLaTablaA
JOIN NombreDeLaTablaB, ...
complementa con la cláusula ON que
ON condicion
nos permite establecer la condición
por la cual queremos unir la tabla, que
generalmente son campos que tienen
en común las tablas.
TIPOS
Los tipos de join más importantes son cuatro:
1 Inner Join 2 Left Join

Tabla 1 Tabla 2 Tabla 1 Tabla 2

3 Right Join 4 Outer Join

Tabla 1 Tabla 2 Tabla 1 Tabla 2


1
INNER JOIN
INNER JOIN
El INNER JOIN o simplemente JOIN,
retorna todas las filas de las dos
tablas siempre y cuando haya
coincidencia por el campo declarado en
el ON. Tabla 1 Tabla 2

El resultado es NULL cuando no hay


coincidencia alguna.
SINTAXIS
Personas Logros
Sintaxis del Inner Join:
SELECT nombres_columnas
FROM tabla1
INNER JOIN tabla2
ON
tabla1.columna_relacion=tabla2.columna_relacion;

Resultado
Ejemplo para Personas y Logros:
SELECT Personas.Apellido, Logros.Logro
FROM Personas
INNER JOIN Logros
ON Personas.PersonaID = Logros.PersonaID;
2
LEFT JOIN
LEFT JOIN

El LEFT JOIN retorna todas las filas


de la tabla izquierda (tabla1), con las
filas coincidentes en la tabla
Tabla 1 Tabla 2 derecha (tabla2).

El resultado es NULL en el lado


derecho cuando no hay coincidencia.
SINTAXIS
Personas Logros
Sintaxis del Left Join:
SELECT nombres_columnas
FROM tabla1
LEFT JOIN tabla2
ON
tabla1.columna_relacion=tabla2.columna_relacion;

Resultado
Ejemplo para Personas y Logros:
SELECT Personas.Apellido, Logros.Logro
FROM Personas
LEFT JOIN Logros
ON Personas.PersonaID = Logros.PersonaID;
3
RIGHT JOIN
RIGHT JOIN

El RIGHT JOIN devuelve todas las


filas de la tabla derecha (tabla2),
con las filas coincidentes en la
tabla de la izquierda (tabla1). Tabla 1 Tabla 2

El resultado es NULL del lado


izquierdo cuando no hay coincidencia.
SINTAXIS
Personas Logros
Sintaxis del Right Join:
SELECT nombres_columnas
FROM tabla1
RIGHT JOIN tabla2
ON
tabla1.columna_relacion=tabla2.columna_relacion;

Resultado
Ejemplo para Personas y Logros:
SELECT Personas.Apellido, Logros.Logro
FROM Personas
RIGHT JOIN Logros
ON Personas.PersonaID = Logros.PersonaID;
4
OUTER JOIN
OUTER JOIN
El OUTER JOIN retorna todas las
filas de la tabla de la izquierda (tabla1)
y de la tabla de la derecha (tabla2).

Tabla 1 Tabla 2
El OUTER JOIN combina el resultado
de LEFT y RIGHT JOIN. En este
caso podemos tener valores NULL
de ambos lados.
SINTAXIS
Personas Logros
Sintaxis del FULL OUTER JOIN:
SELECT nombres_columnas
FROM tabla1
OUTER JOIN tabla2
ON
tabla1.columna_relacion=tabla2.columna_relacion;

Ejemplo para Personas y Logros: Resultado


SELECT Personas.Apellido, Logros.Logro
FROM Personas
OUTER JOIN Logros
ON Personas.PersonaID = Logros.PersonaID;
UNION
CONCEPTO
UNION permite combinar el resultado
de varias consultas SELECT al mismo
Tabla 1
tiempo. Es decir, todas las consultas se
ejecutan por separado y luego se
concatenan los resultados.

A diferencia del JOIN, no se aplica


ningún tipo de lógica relacional para unir
Tabla 2
registros. Sin embargo la cantidad de
columnas en cada consulta debe ser la
misma, y las columnas de cada tabla
deben tener el mismo tipo de datos.
SINTAXIS
Logros1 Logros2
Sintaxis del UNION:
SELECT Columna1, Columna2, ...
FROM NombreDeLaTabla1
UNION
SELECT Columna1, Columna2, ...
FROM NombreDeLaTabla1
Resultado
Ejemplo para Logros1 y Logros2:
Select LogroID, PersonaID, Logro
FROM Logros1
UNION
Select LogroID, PersonaID, Logro
From Logros2

BREAK
¡5/10 MINUTOS Y VOLVEMOS!
¡VAMOS A PRACTICAR LO VISTO!
PRÁCTICA SQL
Consultas SQL con Join y Union.
Tiempo aproximado: 35 Minutos
Cada una de las consignas a continuación corresponde a la consulta de tablas
dentro de la base de datos. Para resolverlas deberás identificar cuándo es necesario
que la consulta contenga alguno o varios de los siguientes componentes:
● Join
● Union
Consignas

1. Indicar por jornada la cantidad de docentes que dictan y sumar los costos. Esta
información solo se desea visualizar para las asignaturas de desarrollo web. El resultado
debe contener todos los valores registrados en la primera tabla, Renombrar la columna
del calculo de la cantidad de docentes como cant_docentes y la columna de la suma de
los costos como suma_total. Keywords: Asignaturas,Staff, DocentesID, Jornada,
Nombre, costo.
2. Se requiere saber el id del encargado, el nombre, el apellido y cuantos son los docentes
que tiene asignados cada encargado. Luego filtrar los encargados que tienen como
resultado 0 ya que son los encargados que NO tienen asignado un docente. Renombrar
el campo de la operación como Cant_Docentes. Keywords: Docentes_id, Encargado,
Staff, Nombre, Apellido,Encargado_ID.
Consignas

3. Se requiere saber todos los datos de asignaturas que no tienen un docente asignado.El
modelo de la consulta debe partir desde la tabla docentes. Keywords: Staff, Encargado,
Asignaturas, costo, Area.
4. Se quiere conocer la siguiente información de los docentes. El nombre completo
concatenar el nombre y el apellido. Renombrar NombresCompletos, el documento, hacer
un calculo para conocer los meses de ingreso. Renombrar meses_ingreso, el nombre del
encargado. Renombrar NombreEncargado, el tefelono del encargado. Renombrar
TelefonoEncargado, el nombre del curso o carrera, la jornada y el nombre del área. Solo
se desean visualizar solo los que llevan mas de 3 meses.Ordenar los meses de ingreso
de mayor a menor. Keywords: Encargo,Area,Staff,jornada, fecha ingreso.
5. Se requiere una listado unificado con nombre, apellido, documento y una marca
indicando a que base corresponde. Renombrar como Marca Keywords:
Encargo,Staff,Estudiantes,
¿QUIERES SABER MÁS? TE DEJAMOS
MATERIAL AMPLIADO DE LA CLASE
● Artículo: Big Data y sus múltiples usos en el
deporte | Alejandro Vaisman
● Artículo: Importancia de los datos en la estrategia
comercial | Grupo Bancolombia
¿PREGUNTAS?
¡MUCHAS GRACIAS!
Resumen de lo visto en clase hoy:
- Sentencias Join y Union.
- Consultas SQL compuestas.
OPINA Y VALORA ESTA CLASE
#DEMOCRATIZANDOLAEDUCACIÓN

También podría gustarte