SQL


自己結合


自己結合は、同じテーブルを2度使用することにより二つのテーブルとして扱つかい同じテーブルが二つあるかのように結合させます。

ん・・・・同じテーブルなら結合しなくてもいいじゃん・・ともったあなた・・結構使う機会があるので覚えておきましょう。
別に名前は覚えなくてもいいんだけど・・・・使い方だけね

部署(エイリアス:A.部署)
部署番号部署名親部署番号
001製品部 
002製品営業部001
003製品開発部002
部署(エイリアス:B.部署)
部署番号部署名親部署番号
001製品部 
002製品営業部001
003製品開発部002

SELECT A.部署番号, A.部署名, A.親部署番号,B.部署名 FROM 部署 A,部署 B
WHERE A.親部署番号=B.部署番号


A.部署番号 A.部署名A.親部署番号B.部署名
001製品部  
002製品営業部001製品部
003製品開発部001製品部


製品部営業の親部署は製品部となるわけですね
(製品部の配下には製品営業部と製品開発部の二つがあるところもわかりますね)

気づいたかたもいると思いますがテーブルの名前も列の名前も全て同じなんですよね・・
そらそうだ。同じテーブルなんだからね・・・
これを解決するために、テーブルに一時的な名前を付けます。この一時的な名前のことをエイリアスといいます。

例ではAとかBとかつけてますね。また、エイリアスはクエリの FROM 句に定義します。