ホーム > データベーススペシャリスト試験 > 2018年

データベーススペシャリスト試験 2018年 午前205


“社員”表に対して、SQL文を実行して得られる結果はどれか。ここで、実線の下線は主キーを表し、表中の‘NULL’は値が存在しないことを表す。
問題画像選択肢画像
(正解)

解説

クエリの意味を分解

SELECT 社員コード
FROM   社員 X
WHERE  NOT EXISTS (
        SELECT *
        FROM   社員 Y
        WHERE  X.社員コード = Y.上司
      );
  • 外側の表 X から 1 行ずつ取り出し、
    その社員コードが Y.上司 に現れるかどうかを調べる。
  • NOT EXISTS なので
    「部下を一人も持たない社員」=上司として参照されていない社員
    だけが結果に残る。

データを確認

社員コード上司社員名
S001NULLA
S002S001B
S003S001C
S004S003D
S005NULLE
S006S005F
S007S006G
上司列に出現する値(= 部下を持つ社員)
S001, S003, S005, S006
→ 上記に 現れない 社員コードは
S002, S004, S007

選択肢照合

  • S002 S004 S007 を示している。

結論

SQL 文の実行結果は 選択肢「ウ」 である。
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ