SQL


左外部結合・OUTER JOIN


内部結合では、結合するテーブル同士で、対応するデータ(等しいデータ)のみを取得するのに対して、 外部結合では、対応するデータがなくても(結合するテーブルの片方にしか存在しないデータの場合にも)、 値を取得できるようになります。

SELECT 選択リスト FROM テーブル名1{ LEFT | RIGHT }
OUTER JOIN テーブル名2
ON テーブル名1.結合キー列 = テーブル名2.結合キー列

RIGHT OUTER JOIN(右外部結合)
社員
社員番号 氏名 部署番号
安藤花子 001
井上花子 001
上田花子 002
部署
部署番号 部署名
001 総務部
002 営業部
003 開発部

SELECT * FROM 社員
RIGHT OUTER JOIN 部署
ON 社員.部署番号 = 部署.部署番号

社員番号 氏名 部署番号 部署番号 部署名
安藤花子 001 001 総務部
井上花子 001 001 総務部
上田花子 002 002 営業部
NULL NULL NULL 003 開発部


INNER JOIN(内部結合)では、部門番号が等しいデータのみを取得するので、 所属社員のいない「開発部」を取得することはできません。
これに対して、OUTER JOIN(外部結合)では、 対応するデータがない場合(結合するテーブルの片方にしか存在しないデータの場合)にも、 結果を取得できるようになります。

何となくわかっていただけましたか!!


まぁ右外部結合は右が左になるだけですね〜簡単ですね
これで外部結合の説明終わります。


おろ、一つ抜けているのでと思った方は鋭いですね〜〜
そう、完全辺外部結合が抜けているのですね・・・
あまり使わない外部結合のためここでは割合します。
・・・決して怠慢ではないですよ〜〜
(ちなみに筆者も使ったことがないです。)

・・・・・・・ちょっとはしょりすぎですか???では時間があればしますね
左外部結合です・・時間があればね・・・