前の演習では、結合を使ってキャラクター名と俳優を対応づけました。INNER JOIN は「内部結合」と呼ばれ、キャラクター名と俳優の両方にデータがある行だけを返します。
しかし、俳優名の対応データがなくてもキャラクター名をすべて取得したい場合もあります。LEFT JOIN は 1 つ目(つまり「左側」)のテーブルのデータをすべて返し、2 つ目のテーブルに対応データがなければ、その列には NULL を返します。
キャラクター名と番組を左外部結合すると、次のようになります。
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;
左外部結合を使って、キャラクター名とそれを演じる俳優を対応づけられますか? 次の列を選択してください: character.name、actor.name
注意: SQL の他の方言には RIGHT JOIN や OUTER JOIN がありますが、SQLite にはありません。