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.
Tabla de contenidos
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
- Haz un LEFT JOIN entre usuarios y pedidos.
- Obtén usuarios sin pedidos.
- Haz un LEFT JOIN entre productos y categorías.
- Haz un LEFT JOIN múltiple entre usuarios, pedidos y ciudades.
- Explica para qué sirve LEFT JOIN.
SELECT u.nombre, p.producto
FROM usuarios u
LEFT JOIN pedidos p ON u.id = p.usuario_id;
SELECT u.nombre
FROM usuarios u
LEFT JOIN pedidos p ON u.id = p.usuario_id
WHERE p.id IS NULL;
SELECT p.nombre, c.nombre
FROM productos p
LEFT JOIN categorias c ON p.categoria_id = c.id;
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;
-- LEFT JOIN sirve para incluir todas las filas de la tabla izquierda.
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
- Confundir LEFT JOIN con INNER JOIN.
- No usar IS NULL para detectar filas sin coincidencias.
- Unir columnas incorrectas.
- Olvidar alias en consultas largas.
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.