JOIN en SQL es una cláusula que se utiliza para combinar filas de dos o más tablas basándose en una columna que contiene valores relacionados. Su objetivo principal es obtener un solo conjunto de datos con información completa y exhaustiva. «Completo» se refiere aquí a la estructura de datos que se obtiene de la combinación de columnas resultantes de la relación entre dichas tablas.
Para satisfacer las diversas necesidades de recuperación de datos, el comando JOIN se divide en varios tipos: OUTER JOIN, INNER JOIN, RIGHT JOIN y LEFT JOIN.
Diferencias entre los tipos de JOIN en SQL
A continuación se presenta una explicación de las distintas cláusulas JOIN junto con ejemplos de sintaxis para ayudarle a comprender sus diferencias:
1. FULL OUTER JOIN
Outer join (o Full Outer Join) devuelve todos los registros o filas, ya sea que tengan valores coincidentes o no, de ambas tablas combinadas. Si no hay datos coincidentes entre las dos tablas, la parte faltante se completa automáticamente con el valor NULL en el resultado del join.
Sintaxis:
SQL
SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name
WHERE condition;
2. LEFT JOIN
Left Join es una operación que devuelve todos los registros de la tabla izquierda (la primera tabla) de las dos tablas combinadas. Todos los datos de la tabla izquierda se conservan y se muestran, incluso si los valores de la tabla izquierda no coinciden con ningún dato de la tabla derecha (la segunda tabla). Los datos de la tabla derecha que no tienen coincidencia se reemplazan con NULL.
Sintaxis:
SQL
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;
3. RIGHT JOIN (Complemento)
Como opuesto al Left Join, la cláusula Right Join devuelve todos los registros de la tabla derecha (la segunda tabla), junto con los datos coincidentes de la tabla izquierda. Si no hay datos coincidentes en la tabla izquierda, el resultado del lado izquierdo será NULL.
Sintaxis:
SQL
SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;
4. INNER JOIN (Complemento)
Inner Join es el tipo de cláusula más utilizado. A diferencia de Outer Join, Inner Join funciona de manera más estricta, devolviendo solo las filas que tienen datos coincidentes (la intersección) en ambas tablas combinadas.
Sintaxis:
SQL
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;






