← SQL Fundamentals

LEFT JOIN: conserva toda la izquierda

LEFT JOIN se comporta como INNER JOIN con una diferencia clave: conserva todas las filas de la tabla izquierda, tenga o no coincidencia a la derecha.

Cuando no hay coincidencia, las columnas de la tabla derecha aparecen como NULL. Por eso el orden importa: la tabla que escribes primero es la que se conserva completa.

  • INNER JOIN → solo las coincidencias
  • LEFT JOIN → todas las filas de la izquierda + las coincidencias cuando existan

Es útil para listar todo un catálogo aunque todavía no tenga datos relacionados.

01

Todas las ciudades

cities
nameregion
MadridComunidad de Madrid
SevillaAndalucía
ZaragozaAragón
02

Conservar cada ciudad

SELECT c.name AS city, s.name AS student_name
FROM cities AS c
LEFT JOIN students AS s
  ON c.name = s.city;
03

Zaragoza sobrevive con NULL

citystudent_name
MadridAna
SevillaBruno
ZaragozaNULL
04

La diferencia está en la izquierda

Si intercambias las tablas para que students quede a la izquierda, Zaragoza desaparece porque no hay estudiantes que conservar.

Ahora te toca a ti
Usa lo que acabas de aprender.