
情報処理安全確保支援士 令和7年度 春期 午前II、全25問のうちの問21。
出典:令和7年度 春期 情報処理安全確保支援士試験 午前II 問21(表は原本の画像を文字に書き起こし、主キーの下線は列の名前のあとに「(主キー)」と書いた。SQL 文は字下げを省いて問題文に入れ、選択肢の表 (列は従業員コード) は値を並べた文にした)
“従業員”表に
〔SQL 文〕
SELECT 従業員コード FROM 従業員 X
WHERE NOT EXISTS
(SELECT * FROM 従業員 Y WHERE X.従業員コード = Y.上司)
| 従業員コード (主キー) | 上司 | 従業員名 |
|---|---|---|
| S001 | NULL | A |
| S002 | S001 | B |
| S003 | S001 | C |
| S004 | S003 | D |
| S005 | NULL | E |
| S006 | S005 | F |
| S007 | S006 | G |
- アS001,
S003, S005, S006 - イS001,
S005 - ウS002,
S004, S007 - エS003,
S006
答えと解説を開く
正解はウです。
この
ほかの選択肢が違う理由
- アS001、
S003、 S005、 S006 は、 だれかの 上司に なっている 従業員です。 NOT EXISTS ではなく EXISTS に した ときの 結果です。 - イS001 と
S005 は、 上司の 列が NULL の 従業員、 つまり いちばん上の 人です。 この SQL 文は 上司が いるかではなく、 部下が いるかを 調べています。 - エS003 と
S006 は、 上司が いて、 部下も いる、 間の 立場の 従業員です。 どちらも 部下が いるので、 NOT EXISTS の 条件で 外れます。
仕組み
かっこの
同じ