メインコンテンツへスキップ
データベーススペシャリスト令和6年度 秋期午前II10

令和6年度 秋期 データベーススペシャリスト 午前II10

難度標準

“従業員”表から、男女それぞれの最年長従業員を除く全ての従業員を取り出すSQL 文とするために、aに入れる字句はどれか。ここで、“従業員”表の構造は次のとおりであり、実線の下線は主キーを表す。

選択肢

SELECT MIN(生年月日) FROM 従業員 AS S2 GROUP BY S2.性別
SELECT MIN(生年月日) FROM 従業員 AS S2 WHERE ES1. 生年月日 > S2. 生年月日 OR S1.性別 = S2. 性別
SELECT MIN(生年月日)FROM 従業員 AS S2 WHERE S1.性別=S2.性別
SELECT MIN(生年月日) FROM 従業員 GROUP BY S2.性別

解説

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

展開
結論Layer 1

「従業員」表から、男女それぞれの最年長従業員を除く全ての従業員を抽出したい場合、まず各性別における最年長者の生年月日を特定する必要があります。これは、性別ごとにグループ化し、その中で最も早い(=最も若い)生年月日を求めることで実現できます。しかし、この問題では「最年長」を求めたいので、各性別で最も遅い(=最も若い)生年月日を求める必要があります。

詳細Layer 2

選択肢ウ「SELECT MIN(生年月日) FROM 従業員 AS S2 WHERE S1.性別=S2.性別」は、自己結合において、従業員S1の性別と同じ性別の従業員S2の中から、最も若い生年月日を抽出することを意図しています。これは、各性別における最年長者(生年月日が最も遅い)を特定するためのサブクエリとして適切です。

補足Layer 3

アは、性別ごとにグループ化して最小の生年月日、つまり最年少者を取得してしまい、問題の意図と異なります。イは、自己結合の条件として、S1の生年月日がS2より古いか、または性別が一致するという条件になっており、最年長者を特定するロジックが不明確です。エは、GROUP BY句でS2を指定しているものの、SELECT句でS2.*のような指定がなく、サブクエリとして適切に機能しません。

この解説は?
この解説は AI 生成です(詳細)

解説テキストは Google Gemini に IPA 公式の問題文・公式解答を入力して生成しました。 人間によるレビューを行ったものと、未レビューのものが混在します。

AI は事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があります。 重要な判断は必ず IPA 公式 PDF または最新の参考書でご確認ください。

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

※ AI 生成の解説は誤りを含む可能性があります。重要な判断は IPA 公式資料でご確認ください。

最終更新:

分野「SQL」の学習ポイント

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

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

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

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

クイズモードで開く

共有

X でシェアLINE

ショート動画

関連する問題

SQL の他の問題