Está en la página 1de 6

Clase 08.

Join y union
JOIN
Concepto
Las bases de datos relacionales se basan en el modelo relacional y usan un conjunto de tablas
para representar tanto los datos como las relaciones entre ellos

El JOIN es una cláusula que permite combinar registros de diferentes tablas. Se complementa
con la cláusula ON que nos permite establecer la condición por la cual queremos unir la tabla,
que generalmente son campos que tienen en común las tablas.

Sintaxis

SELECT Columna1, Columna2, ...


FROM NombreDeLaTablaA
JOIN NombreDeLaTablaB, ...
ON condicion

Tipos
Los tipos de join mas importante son cuatro:
● Inner Join
● Left Join
● Right Join
● Outer Join

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

El resultado es NULL cuando no haya coincidencia alguna.

Sintaxis del Inner Join:


SELECT nombres_columnas
FROM tabla1
INNER JOIN tabla2
ON tabla1.columna_relacion=tabla2.columna_relacion;
Ejemplo para Personas y Logros:
SELECT Personas.Apellido, Logros.Logro
FROM Personas
INNER JOIN Logros
ON Personas.PersonaID = Logros.PersonaID;

Left Join
El LEFT JOIN retorna todas las filas de la tabla izquierda (tabla1), con las filas coincidentes en
la tabla derecha (tabla2).

El resultado es NULL en el lado derecho cuando no hay coincidencia.

Sintaxis del Left Join:


SELECT nombres_columnas
FROM tabla1
LEFT JOIN tabla2
ON tabla1.columna_relacion=tabla2.columna_relacion;

Ejemplo para Personas y Logros:


SELECT Personas.Apellido, Logros.Logro
FROM Personas
LEFT JOIN Logros
ON Personas.PersonaID = Logros.PersonaID;
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).

El resultado es NULL del lado izquierdo cuando no hay coincidencia.

Sintaxis del Right Join:


SELECT nombres_columnas
FROM tabla1
RIGHT JOIN tabla2
ON tabla1.columna_relacion=tabla2.columna_relacion;

Ejemplo para Personas y Logros:


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

El OUTER JOIN combina el resultado de LEFT y RIGHT JOIN. En este caso podemos tener
valores NULL de ambos lados.

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:


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 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 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 del UNION:


SELECT Columna1, Columna2, ...
FROM NombreDeLaTabla1
UNION
SELECT Columna1, Columna2, ...
FROM NombreDeLaTabla1

Ejemplo para Logros1 y Logros2:


Select LogroID, PersonaID, Logro
FROM Logros1
UNION
Select LogroID, PersonaID, Logro
From Logros2

También podría gustarte