Excelが大好きだ!

Excel大好き経理マンがExcelの事を書き綴っていきます。


スポンサードリンク

SQLでExcelの集計を簡単・楽しく - 完全外部結合

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の値が存在しません。
これら片方にしか存在しないデータを含みつつテーブルを結合します。

片方のテーブルにしかない項目は要素が空白で表示されますが、両方のテーブルの要素が漏れなく完全に抽出されています。


www.excellovers.com