INTERSECT

複数クエリーの結果の積集合を取得します。

SELECT query_expression
INTERSECT [ALL]
SELECT query_expression
ORDER BY expression
※OracleではALLを指定できません。

 

*
下記の2つのテーブルがあるとき…

社員マスタ

社員番号 名前 所属部署コード 役職コード
1 しゃちょさん 100 11
2 部長さん 200 12

 

社員マスタ2

社員番号 名前 所属部署コード 役職コード
2 部長さん 210 12
3 主任さん 220 13

 

*
社員マスタから社員番号, 名前 のカラムをSELECTした結果から、社員マスタ2の社員番号, 名前 のカラムをSELECTしてた結果を差し引きする場合…

SELECT 社員番号, 名前 FROM 社員マスタ
INTERSECT
SELECT 社員番号, 名前 FROM 社員マスタ2
;

結果

社員番号 名前
2 部長さん