In der letzten Übung haben wir Joins benutzt, um Figurennamen ihren Schauspielern zuzuordnen. Wenn du INNER JOIN verwendest, spricht man von einem „inneren“ Join, weil nur Zeilen zurückkommen, für die es sowohl zum Figurennamen als auch zum Schauspieler Daten gibt.
Vielleicht willst du aber alle Figurennamen bekommen, auch wenn es keine passenden Daten zum Schauspieler gibt. Ein LEFT JOIN gibt alle Daten der ersten (der „linken“) Tabelle zurück und liefert NULL für die Spalten der zweiten Tabelle, wenn es dort keine passenden Daten gibt.
Mit Left Joins zwischen Figuren und Serien sähe das so aus:
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;
Kannst du mit Left Joins Figurennamen den Schauspielern zuordnen, die sie spielen? Wähle die Spalten: character.name, actor.name
Hinweis: Andere SQL-Varianten kennen RIGHT JOIN und OUTER JOIN, in SQLite gibt es diese Funktionen aber nicht.