完全外部結合
作成:2023-04-27 03:50
更新:2023-04-27 03:50
概要
「完全外部結合」について説明したページです。「完全外部結合」は、データベースにおけるテーブル同士の結合の一つで、複数のテーブルから一致する行同士を結合し、残りの行も全て抽出する方法です。
用語
「完全外部結合」(FULL JOIN句、FULL OUTER JOIN句)についての説明です。
生徒
完全外部結合って何ですか?
先生
完全外部結合は、データベースのテーブルを連結する操作の一つです。二つのテーブルからそれぞれ特定の列を指定し、両者の値が一致する行同士は連結し、残りの行もそのまますべて抽出するやり方です。
生徒
どういう場合に使うんですか?
先生
通常、外部結合は、共通の列があるテーブルを結合する際に使用されます。しかし、完全外部結合は、両方のテーブルの全データを取り出すことができるため、あまり使われないことが多いです。
生徒
上の資料にある例をもう一度教えてください。
先生
例えば、以下のような二つのテーブルがあるとします。
社員番号 | 名前 |
---|---|
1 | 山田 |
2 | 佐藤 |
3 | 田中 |
社員番号 | 部署 |
---|---|
1 | 営業 |
2 | 経理 |
4 | 人事 |
先生
このとき、社員番号を基準にして完全外部結合を行うと、以下のようなテーブルが得られます。
社員番号 | 名前 | 部署 |
---|---|---|
1 | 山田 | 営業 |
2 | 佐藤 | 経理 |
3 | 田中 | null |
null | null | 人事 |
生徒
なるほど、nullが多くなるってデメリットがあるんですね。他に何かデメリットはありますか?
先生
完全外部結合は処理が重くなることがあります。両方のテーブルの全ての行を抽出するため、膨大な量のデータが結合されることがあるためです。
まとめ
「完全外部結合」(FULL JOIN句、FULL OUTER JOIN句)は、データベースにおけるテーブル同士の結合の一つです。
複数のテーブルから指定した列をもとに、一致する行同士を結合し、残りの行も全て抽出することができます。
完全外部結合は、内部結合や外部結合と異なり、両方のテーブルに共通する列を1つだけ指定できます。
また、完全外部結合は、あまり使われない傾向があり、nullが多くなったり、処理が重くなったりするというデメリットがありますが、両方のテーブルの全てのデータを取り出すことができるというメリットがあります。