Sobes.tech
Senior

¿Qué tipos de JOIN conoces y en qué se diferencian?

sobes.tech AI

Respuesta de la IA

Los principales tipos de JOIN en SQL y sus diferencias:

  • INNER JOIN — devuelve solo los registros que tienen coincidencias en ambas tablas según la condición de unión.

  • LEFT JOIN (LEFT OUTER JOIN) — devuelve todos los registros de la tabla izquierda y las coincidencias de la derecha. Si no hay coincidencias, los campos de la tabla derecha serán NULL.

  • RIGHT JOIN (RIGHT OUTER JOIN) — devuelve todos los registros de la tabla derecha y las coincidencias de la izquierda.

  • FULL JOIN (FULL OUTER JOIN) — devuelve todos los registros de ambas tablas, coincidentes y no coincidentes, con NULL en los lugares sin datos.

  • CROSS JOIN — producto cartesiano de dos tablas, devuelve todas las combinaciones posibles de filas.

Ejemplo:

-- INNER JOIN
SELECT * FROM A INNER JOIN B ON A.id = B.a_id;

-- LEFT JOIN
SELECT * FROM A LEFT JOIN B ON A.id = B.a_id;

-- RIGHT JOIN
SELECT * FROM A RIGHT JOIN B ON A.id = B.a_id;

-- FULL JOIN
SELECT * FROM A FULL JOIN B ON A.id = B.a_id;

-- CROSS JOIN
SELECT * FROM A CROSS JOIN B;

La elección del JOIN depende de qué datos se necesitan obtener y cómo manejar las coincidencias ausentes.