平成30年度 春期 データベーススペシャリスト試験 午前II 問5
2025年6月30日
【問題5】
“社員"表に対して、SQL文を実行して得られる結果はどれか。ここで、実線の下線は主キーを表し、表中の’NULL’は値が存在しないことを表す。
【解説】
このSQL文の意味を解釈します。
1. 主文の解釈
SELECT 社員コード FROM 社員 X
「社員表の社員コードを抽出する」
2. サブクエリの解釈
(SELECT * FROM 社員 Y WHERE X.社員コード = Y.上司)
「社員コードが他の社員の上司として登録されているかどうかを確認する」
3. NOT EXISTSの解釈
「サブクエリの条件を満たす行が存在しない場合に真を返す」
4. 結果の考察
– NOT EXISTSの条件を満たすのは、「他の社員の上司として登録されていない社員コード」の行。
– 社員表を見ると、以下の社員コードが上司として登録されています:
– S001, S003, S005, S006
したがって、上司として登録されていない社員コードは以下の通り:
– S001, S005
選択肢の検討
- ア: 社員コードがS001, S003, S005の社員
誤り。条件に一致しない社員コードも含まれています。
- イ: 社員コードがS001, S005の社員
正しい。上司として登録されていない社員コードがS001, S005です。
- ウ: 社員コードがS001, S005
誤り。社員コードがS001, S005である条件は一致しています。
- エ: 社員コードがS002, S003
誤り。条件に一致しません。
【答え】
イ: 社員コードがS001, S005の社員
出典:平成30年度 春期 データベーススペシャリスト試験 午前II 問5