"社員"表に対して、SQL文を実行して得られる結果はどれか。ここで、実線の下線は主キーを表し、表中のNULLは値が存在しないことを表す。 〔SQL文〕 SELECT 社員コード FROM 社員 X WHERE NOT EXISTS (SELECT * FROM 社員 Y WHERE X.社員コード = Y.上司)

NOT EXISTSの相関副問合せで部下を持たない行を抽出

データベーススペシャリスト試験2022年度 秋期 午前II8/SQL / 述語

問8の図
社員表(社員コードが主キー):
社員コード上司社員名
S001NULLA
S002S001B
S003S001C
S004S003D
S005NULLE
S006S005F
S007S006G

選択肢

正解と解説

正解: 社員コード: S002, S004, S007

相関副問合せは、外側の行の社員コードを上司として持つ行が存在するかを調べている。NOT EXISTSなのでそれが1件もない社員、すなわち部下を1人も持たない社員が選ばれる。上司列に現れる社員を除いた残りが結果になる。

選択肢ごとの解説

出典:令和4年度 秋期 データベーススペシャリスト試験 午前II 問8(IPA)

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。