Lección 24 de 31
En el ejercicio anterior, usamos joins para emparejar nombres de personajes de TV con sus actores. Cuando usas INNER JOIN
, eso se llama un “inner join” porque solo devuelve filas donde hay datos tanto para el nombre del personaje como para el actor.
Sin embargo, tal vez quieras obtener todos los nombres de personajes, incluso si no hay datos correspondientes para el nombre del actor. Un LEFT JOIN
devuelve todos los datos de la primera tabla (o tabla “izquierda”), y si no hay datos correspondientes para la segunda tabla, devuelve NULL
para esas columnas.
Usar left joins entre nombres de personajes y programas de TV se vería así: SELECT character.name, tv_show.name
FROM character
LEFT JOIN character_tv_show
ON character.id = character_tv_show.character_id
LEFT JOIN tv_show
ON character_tv_show.tv_show_id = tv_show.id;
¿Puedes usar left joins para emparejar nombres de personajes con los actores que los interpretan? Selecciona las columnas: character.name, actor.name
Nota: Otras variantes de SQL tienen RIGHT JOIN
y OUTER JOIN
, pero esas características no están presentes en SQLite.