ホーム > データベーススペシャリスト試験 > 2018年
データベーススペシャリスト試験 2018年 午前2 問05
“社員”表に対して、SQL文を実行して得られる結果はどれか。ここで、実線の下線は主キーを表し、表中の‘NULL’は値が存在しないことを表す。


ア:
イ:
ウ:(正解)
エ:
解説
クエリの意味を分解
SELECT 社員コード
FROM 社員 X
WHERE NOT EXISTS (
SELECT *
FROM 社員 Y
WHERE X.社員コード = Y.上司
);
- 外側の表 X から 1 行ずつ取り出し、
その社員コードが Y.上司 に現れるかどうかを調べる。 NOT EXISTS
なので
「部下を一人も持たない社員」=上司として参照されていない社員
だけが結果に残る。
データを確認
上司列に出現する値(= 部下を持つ社員)
S001, S003, S005, S006
S001, S003, S005, S006
→ 上記に 現れない 社員コードは
S002, S004, S007
選択肢照合
- ウ が
S002 S004 S007
を示している。
結論
SQL 文の実行結果は 選択肢「ウ」 である。