SQLにはExcel関数のVLOOKUP関数のように複数のデータをマッチングして表示する「結合」という機能があります。
完全外部結合
完全外部結合は内部結合 の結果にプラスして、結合するテーブルのいずれか片方のテーブルにしかない要素を全て抽出します。
完全外部結合の構文は以下のとおりです
select A.結合キー列 from テーブルA left join テーブルB on テーブルA.列名 = テーブルB.列名 union select B.結合キー列 from テーブルA right join テーブルB on テーブルA.列名 = テーブルB.列名
SQLには完全外部結合を表す「FULL OUTER JOIN」という構文が存在しますが、Excelでは使用することが出来ません。
Excelで完全外部結合を実現するには2つのSQL文をUNION演算子で1つにまとめる必要があります。
まず「LEFT JOIN」でSQL分を作成します。
次に先程のSQL文をLEFT JOINから「RIGHT JOIN」に置換したSQL分を作成します。
最後に2つのSQL文を「UNION」で繋げれば完成です。
完全外部結合の使用例
下記例では生徒IDをキーにして結合しています。
「テスト」テーブルにはA004が、「生徒ID」テーブルにはA002の値が存在しません。
これら片方にしか存在しないデータを含みつつテーブルを結合します。
片方のテーブルにしかない項目は要素が空白で表示されますが、両方のテーブルの要素が漏れなく完全に抽出されています。