Dans l’exercice précédent, nous avons utilisé des jointures pour associer les noms des personnages à leurs acteurs. Quand vous utilisez INNER JOIN, on parle de jointure « interne » parce qu’elle ne renvoie que les lignes pour lesquelles il existe des données à la fois pour le personnage et pour l’acteur.
Mais vous voudrez peut-être obtenir tous les noms de personnages, même sans donnée correspondante côté acteur. Un LEFT JOIN renvoie toutes les données de la première table (celle « de gauche ») et, s’il n’y a pas de donnée correspondante dans la seconde, il renvoie NULL pour ces colonnes.
Utiliser des jointures gauches entre personnages et séries ressemblerait à ceci :
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;
Pouvez-vous utiliser des jointures gauches pour associer les noms des personnages aux acteurs qui les incarnent ? Sélectionnez les colonnes : character.name, actor.name
Remarque : d’autres variantes de SQL proposent RIGHT JOIN et OUTER JOIN, mais ces fonctionnalités n’existent pas dans SQLite.