情報処理安全確保支援士試験 情報処理安全確保支援士試験 令和7年度春期 午前Ⅱ21: “従業員”表に対して,SQL 文を実行して得られる結果はどれか。ここで,実線の下線は主キーを表し,表中の NULL は値が存在しないことを表す。 従業員 〔SQ

情報処理安全確保支援士試験 令和7年度春期 午前Ⅱ
Q 2121 / 25
“従業員”表に対して,SQL 文を実行して得られる結果はどれか。ここで,実線の下線は主キーを表し,表中の NULL は値が存在しないことを表す。 従業員
従業員コード上司従業員名
S001NULLA
S002S001B
S003S001C
S004S003D
S005NULLE
S006S005F
S007S006G
〔SQL 文〕 ``` SELECT 従業員コード FROM 従業員 X WHERE NOT EXISTS (SELECT * FROM 従業員 Y WHERE X.従業員コード = Y.上司) ```

問題本文

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

選択肢

  • .従業員コード S001 S003 S005 S006
  • .従業員コード S001 S005
  • .従業員コード S002 S004 S007
  • .従業員コード S003 S006

正解

. 従業員コード S002 S004 S007

解説

このSQLは相関副問合せとNOT EXISTSで「自分を上司として参照する従業員が存在しない者」、すなわち部下を持たない従業員を抽出する。上司列にコードが現れるのはS001/S003/S005/S006で、現れないS002/S004/S007が部下なし。これがウで正解。実務では存在検査による否定条件の抽出パターンとして頻出し、データ整合性チェックにも応用される。

選択肢ごとの解説

  • .S001/S003/S005/S006は他者の上司として参照されており部下を持つため、抽出対象外で誤り。
  • .S001とS005は上司列に出現し部下を持つため、部下なし条件に合致せず誤り。
  • .S002/S004/S007はどの行の上司列にも現れず部下を持たないため、抽出結果として正解。
  • .S003とS006は上司列に現れ部下を持つため、NOT EXISTSの条件を満たさず誤り。

情報処理安全確保支援士試験 令和7年度春期 午前Ⅱ過去問一覧へ戻る・問21