“社員”表に対して、SQL文を実行して得られる結果はどれか。ここで、実線の下線は主キーを表し、表中の'NULL'は値が存在しないことを表す。 〔社員〕 社員コード(主キー)、上司、社員名 S001, NULL, A S002, S001, B S003, S001, C S004, S003, D S005, NULL, E S006, S005, F S007, S006, G 〔SQL文〕 SELECT 社員コード FROM 社員 X WHERE NOT EXISTS (SELECT * FROM 社員 Y WHERE X.社員コード = Y.上司)

NOT EXISTSの相関副問合せで「部下を持たない社員」を抽出

データベーススペシャリスト試験2018年度 春期 午前II5/SQL / 述語

社員コード上司社員名
S001NULLA
S002S001B
S003S001C
S004S003D
S005NULLE
S006S005F
S007S006G

選択肢

正解と解説

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

この副問合せは「自分の社員コードを上司として持つ社員が存在するか」を調べており、NOT EXISTSで否定しているので、誰の上司にもなっていない社員だけが選ばれる。表では上司欄に現れるコードが部下を持つ社員なので、そこに一度も現れない社員が結果になる。

選択肢ごとの解説

出典:平成30年度 春期 データベーススペシャリスト試験 午前II 問5(IPA)

同じ分野の他の問題

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