最近全体の難易度が上がっているので出る可能性は高いかもしれない。
平成30年度 春期 午前II 問5
“社員”表に対して、SQL文を実行して得られる結果はどれか。ここで、実践の下線は主キーを表し、表中の‘NULL’は値が存在しないことを表す。
社員コード | 上司 | 社員名 |
S001 | NULL | A |
S002 | S001 | B |
S003 | S001 | C |
S004 | S003 | D |
S005 | NULL | E |
S006 | S005 | F |
S007 | S006 | D |
[SQL文]
SELECT 社員コード FROM 社員 X
WHERE NOT EXISTS
(SELECT * FROM 社員 Y WHERE X.社員コード=Y.上司)

回答 以下反転
ウ
解説
相関副問合せはイメージとしてはforループのような処理になる。
同じテーブル名にエイリアスをつけている場合以下のように分けるとイメージしやすい。
社員名はSQL文にないので除外して(考慮しなくて)もいい。

まずX表の1レコードだけを考えてみる。
社員コードS001は上司に存在するので対象になる。

これをレコード分繰り返す。

最後にNOT EXISTになっているので反転して社員コードのみ取り出す。

結果はS002,S004,S007 となり、これは上司でない社員の社員コードを抽出するSQLになる。
ちなみにXとYが完全に逆だった場合、上司がいない社員を取り出すといったSQLになる(イ:S001, S005)