令和6年度 秋期 データベーススペシャリスト試験 午前II 問10
【問題10】
“従業員”表から,男女それぞれの最年長従業員を除く全ての従業員を取り出すSQL文を完成させるために,aに入れる字句はどれか。ここで,“従業員”表の構造は次のとおりであり,実線の下線は主キーを表す。
【解説】
この問題では、男女それぞれの最年長従業員を除外するため、性別ごとに最も古い生年月日を持つ従業員を特定し、その生年月日より後に生まれた従業員を抽出する必要があります。
1. 選択肢の検討:
- ア:
性別ごとに最も古い生年月日を取得するクエリですが、結果が複数行になるため、`>` 演算子との組み合わせでは適切ではありません。
- イ:
相関副問合せを使用していますが、条件が適切ではなく、正しい結果を得られません。
- ウ:
相関副問合せを使用し、主問合せの性別と一致する性別の最も古い生年月日を取得しています。これにより、性別ごとの最年長従業員を除外することができます。
- エ:
`GROUP BY` 句でエイリアス `S2` を使用していますが、これは定義されておらず、構文エラーとなります。
2. 正解の選択:
選択肢 ウ が適切です。この相関副問合せにより、各従業員の性別に対応する最年長の生年月日を取得し、それより後に生まれた従業員のみを抽出することができます。
出典:令和6年度 秋期 データベーススペシャリスト試験 午前II 問10