外部結合・アウタージョイン
SQL



目次


はじめに

関係(リレーショナル)モデル

データベース

データベースの構造

SQL定義

正規化と第1正規化について

第2正規化

第3正規化

データ型

SQLデータ定義型

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(外部結合)では、 対応するデータがない場合(結合するテーブルの片方にしか存在しないデータの場合)にも、 結果を取得できるようになります。

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


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


・・・・・・・ちょっとはしょりすぎですか???
というわけで次回は左外部結合です・・たぶん
Home   Database   SIP   PHP   BBS   SEO   Homepage   Link   About us   Site Map   Mail us  
Privacy & Copyright T.K Adavnce All rights reserved.