tipos-de-joins-en-sql

Volver

Última actualización: 2025-10-30 19:45


Tipos de Joins en SQL

En SQL, los joins permiten combinar filas de dos o más tablas basadas en una columna relacionada entre ellas. Aquí se describen los tipos más comunes de joins con ejemplos.


1. INNER JOIN

Descripción: Devuelve solo las filas que tienen coincidencias en ambas tablas.

Ejemplo:

SELECT empleados.nombre, departamentos.nombre
FROM empleados
INNER JOIN departamentos ON empleados.departamento_id = departamentos.id;

2. LEFT JOIN (o LEFT OUTER JOIN)

Descripción: Devuelve todas las filas de la tabla de la izquierda y las coincidencias de la tabla de la derecha. Si no hay coincidencia, se devuelve NULL.

Ejemplo:

SELECT empleados.nombre, departamentos.nombre
FROM empleados
LEFT JOIN departamentos ON empleados.departamento_id = departamentos.id;

3. RIGHT JOIN (o RIGHT OUTER JOIN)

Descripción: Devuelve todas las filas de la tabla de la derecha y las coincidencias de la tabla de la izquierda. Si no hay coincidencia, se devuelve NULL.

Ejemplo:

SELECT empleados.nombre, departamentos.nombre
FROM empleados
RIGHT JOIN departamentos ON empleados.departamento_id = departamentos.id;

4. FULL JOIN (o FULL OUTER JOIN)

Descripción: Devuelve todas las filas cuando hay coincidencia en una de las tablas. Si no hay coincidencia, se devuelve NULL en las columnas de la tabla que no coincide.

Ejemplo:

SELECT empleados.nombre, departamentos.nombre
FROM empleados
FULL OUTER JOIN departamentos ON empleados.departamento_id = departamentos.id;

5. CROSS JOIN

Descripción: Devuelve el producto cartesiano de ambas tablas. Cada fila de la primera tabla se combina con todas las filas de la segunda tabla.

Ejemplo:

SELECT empleados.nombre, proyectos.nombre
FROM empleados
CROSS JOIN proyectos;

6. SELF JOIN

Descripción: Es una unión de una tabla consigo misma.

Ejemplo:

SELECT e1.nombre AS Empleado, e2.nombre AS Jefe
FROM empleados e1
INNER JOIN empleados e2 ON e1.jefe_id = e2.id;

Consideraciones

  • Asegúrate de que las columnas utilizadas para unir tengan índices para mejorar el rendimiento.
  • Usa alias para mejorar la legibilidad de las consultas.
  • Verifica los NULLs cuando uses OUTER JOINS.