EXISTS

指定した値のいづれか1つと一致するレコードを検索します。

expression [NOT] IN ( sub_query )

 

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

社員マスタ

社員番号 名前 所属部署コード
1 しゃちょさん 100
2 部長さん 210
3 主任さん 220

 

部署マスタ

部署コード 部署名 部署設立日
100 社長室 2000/01/01
200 IT戦略部 2000/01/01
210 システム開発部 2003/04/01
220 システム開発課 2005/04/01

 

*
また、部署名に”開発”とつく部署に所属している社員マスタのレコードを参照する場合は、以下のように記述します。

SELECT *
  FROM 社員マスタ
 WHERE EXISTS (
           SELECT *
             FROM 部署マスタ
            WHERE 部署名 LIKE '%開発%')
;

結果

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