メインコンテンツへスキップ
情報処理安全確保支援士令和7年度 春期午前II問 21

令和7年度 春期 情報処理安全確保支援士 午前II 問21

難度標準

“従業員”表に対して、SQL 文を実行して得られる結果はどれか。ここで、実線の下線は主キーを表し、表中の NULL は値が存在しないことを表す。

[従業員表]

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

[SQL文]

SELECT 従業員コード FROM 従業員 X

WHERE NOT EXISTS

(SELECT * FROM 従業員 Y WHERE X. 従業員コード = Y. 上司)

選択肢

解説

結論 → 詳細 → 補足 の 3 層構成

展開
結論Layer 1

このSQL文は、従業員Xの従業員コードが、他のどの従業員Yの「上司」としても存在しない従業員Xの従業員コードを抽出します。

詳細Layer 2
展開

これは、他の従業員から上司として指定されていない、つまり部下を持たない従業員を特定するものです。与えられた従業員表から、S002、S004、S007がどの従業員の上司でもないため、これらの従業員コードが結果として得られます。

各選択肢の解説

ア

従業員コード

S001

S003

S005

S006

誤りです。S001はS002とS003の上司、S003はS004の上司、S005はS006の上司、S006はS007の上司として上司列に現れます。そのため副問合せが行を返し、NOT EXISTSで除外されます。アは部下を持つ従業員の一覧で、NOT EXISTSをEXISTSに変えたSQLの結果です。本問の結果はS002・S004・S007です。

イ

従業員コード

S001

S005

誤りです。S001とS005は上司列がNULLの最上位の従業員ですが、このSQLが判定するのは「自分が誰かの上司になっているか」です。S001とS005はどちらも部下を持つので、NOT EXISTSが偽になり除外されます。イは「WHERE 上司 IS NULL」で得られる結果で、本問の結果はS002・S004・S007です。

ウ

従業員コード

S002

S004

S007

正しいです。上司列に現れる値はS001・S003・S005・S006です(NULLは等号比較で真にならないので一致しません)。副問合せ「X.従業員コード = Y.上司」を満たす行が一つもない従業員、つまり誰の上司にもなっていないのはS002・S004・S007で、これが結果になります。

エ

従業員コード

S003

S006

誤りです。S003はS004の上司、S006はS007の上司として上司列に現れます。そのため副問合せが行を返し、NOT EXISTSが偽になって除外されます。エは上司がいて部下もいる中間層の従業員です。NOT EXISTSをEXISTSに変え、外側の問合せに「X.上司 IS NOT NULL」を加えたときの結果です。本問の結果はS002・S004・S007です。

この解説は?
AI生成

解説は公式の問題文・公式解答を基に作成しています。 事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があるため、 重要な判断は必ずリンク先の公式資料でご確認ください。

最終更新:

検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。

分野「情報セキュリティ」の学習ポイント

この問題の理解を「分野全体の力」に広げるための足がかり

何が問われるか
本問の分野で問われる代表的な知識・用語の整理。
学習の進め方
正解/誤答の選択肢ごとに「なぜ正しい / なぜ違うのか」を1行ずつ言語化すると定着する。
この分野の問題をもっと解く
AI コパイロット

この問題を AI と深掘りする

用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。

クイズモードで開く

関連する問題

情報セキュリティ の他の問題

他年度の「情報セキュリティ」問題

情報処理安全確保支援士 の同じ分野を年度をまたいで演習する

情報処理安全確保支援士 の学習ガイド