Diferencia entre INNER JOIN, LEFT JOIN, RIGHT JOIN y FULL OUTER JOIN

shape
shape
shape
shape
shape
shape
shape
shape

El lenguaje SQL permite unir tablas, pero a veces estos comandos se olvidan y/o nos confundimos sobre el verdadero propósito de cada uno.

Veamos la imagen siguiente, que representa las distintas formas de JOINS:

inner join left join outer join

INNER JOIN

Intersección entre mesas.

Ejemplo:

SELECT <colunas> 
FROM Table_A A
INNER JOIN Table_B B
ON A.Key = B.Key

 

RIGHT JOIN y LEFT JOIN

Además de la intersección, también busca resultados que no tengan intersección. LEFT JOIN toma los resultados de la tabla de la izquierda, más el resultado de la intersección entre las dos tablas, y RIGHT JOIN toma los valores de la tabla de la derecha, más el resultado de la intersección entre las dos tablas.

Ejemplo:

SELECT <colunas>
FROM Table_A A
LEFT JOIN Table_B B
ON A.Key = B.Key
SELECT <colunas>
FROM Table_A A
RIGHT JOIN Table_B B
ON A.Key = B.Key

 

UNIÓN EXTERNA COMPLETA

Además de la intersección, también realiza LEFT JOIN y RIGHT JOIN, es decir, busca en la tabla A los resultados que no tienen intersección, busca en la tabla B los resultados que no tienen intersección y, por último, busca los resultados de la intersección.

Ejemplo:

SELECT <colunas>
FROM Table_A A
FULL OUTER JOIN Table_B B
ON A.Key = B.Key

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *