IOKELU
Nivel: Intermedio
💡 Prueba las consultas:
Puedes ejecutar cualquier JOIN en nuestra consola interactiva: Abrir consola SQL →

LEFT JOIN en SQL: incluye todos los registros de la tabla izquierda

LEFT JOIN devuelve todas las filas de la tabla izquierda, aunque no tengan coincidencia en la tabla derecha. Es esencial para detectar datos faltantes, reportes completos y análisis de relaciones incompletas.

1. ¿Qué es LEFT JOIN?

LEFT JOIN devuelve todas las filas de la tabla izquierda, incluso si no tienen coincidencia en la tabla derecha. Las filas sin coincidencia mostrarán valores NULL en las columnas de la tabla derecha.


SELECT u.nombre, p.producto
FROM usuarios u
LEFT JOIN pedidos p ON u.id = p.usuario_id;
    

2. Sintaxis de LEFT JOIN


SELECT columnas
FROM tabla1
LEFT JOIN tabla2
    ON tabla1.columna = tabla2.columna;
    

3. Ejemplo básico


SELECT u.nombre, p.producto
FROM usuarios u
LEFT JOIN pedidos p 
    ON u.id = p.usuario_id;
    

4. Detectar filas sin coincidencias

LEFT JOIN es perfecto para encontrar registros sin relación.


SELECT u.nombre
FROM usuarios u
LEFT JOIN pedidos p 
    ON u.id = p.usuario_id
WHERE p.id IS NULL;
-- Usuarios sin pedidos
    

5. LEFT JOIN con múltiples tablas


SELECT u.nombre, p.producto, c.ciudad
FROM usuarios u
LEFT JOIN pedidos p ON u.id = p.usuario_id
LEFT JOIN ciudades c ON u.ciudad_id = c.id;
    

6. LEFT JOIN con condiciones adicionales


SELECT u.nombre, p.producto
FROM usuarios u
LEFT JOIN pedidos p 
    ON u.id = p.usuario_id
    AND p.estado = 'Enviado';
    

7. Ejemplos prácticos


SELECT e.nombre, d.nombre AS departamento
FROM empleados e
LEFT JOIN departamentos d ON e.depto_id = d.id;

SELECT p.producto, c.nombre AS categoria
FROM productos p
LEFT JOIN categorias c ON p.categoria_id = c.id;

SELECT u.nombre, p.producto
FROM usuarios u
LEFT JOIN pedidos p ON u.id = p.usuario_id
WHERE p.producto IS NULL;
-- Usuarios sin pedidos
    

8. Ejercicios para practicar

9. Mini‑proyecto: Usuarios sin pedidos


SELECT u.nombre
FROM usuarios u
LEFT JOIN pedidos p ON u.id = p.usuario_id
WHERE p.id IS NULL;
    

10. Errores comunes

11. Preguntas frecuentes

¿LEFT JOIN muestra filas sin coincidencias?

Sí, esa es su función principal.

¿Puedo unir más de dos tablas?

Sí, puedes unir tantas como necesites.


Siguiente guía

SQL Intermedio – RIGHT JOIN →