SQLにはExcel関数のVLOOKUP関数のように複数のデータをマッチングして表示する「結合」という機能があります。
外部結合
外部結合は内部結合 の結果にプラスして、片方のテーブルにしかない要素を全て抽出します。
外部結合の構文は以下のとおりです
select * from テーブルA left join テーブルB on テーブルA.列名 = テーブルB.列名
まず結合したい2つのテーブルを「LEFT JOIN」で繋ぎます。
結合条件に使用する2つの列を「ON テーブルA.列名 = テーブルB.列名」と指定します。
※RIGHT JOINもありますが機能は同じなのでLEFT JOINだけ覚えておけば良い
外部結合の使用例
LEFT JOINを使用する外部結合では、「LEFT JOIN」の左側に書かれたテーブルの要素が全て抽出される。
下記の例では「テスト」テーブルの要素が全て抽出される。
オレンジ部分は内部結合で抽出されているデータ。
青い部分は内部結合での結合相手がいないが、抽出されている「テスト」テーブルの独自要素。
内部結合の相手がいないので「生徒」テーブルのデータ部分は空白になっている
内部結合の相手がいないデータを含めて「テスト」テーブルのデータは全て表示されているのがわかる。