"従業員"表から、男女それぞれの最年長従業員を除く全ての従業員を取り出すSQL文とするために、aに入れる字句はどれか。ここで、"従業員"表の構造は次のとおりであり、実線の下線は主キーを表す。 従業員(従業員番号, 従業員名, 性別, 生年月日) ※従業員番号が主キー 〔SQL文〕 SELECT 従業員番号, 従業員名 FROM 従業員 AS S1 WHERE 生年月日 > ( a )

グループ内の最古を除くには相関副問合せで比較する

頻出データベーススペシャリスト試験2024年度 秋期 午前II10/SQL / 問合せ

選択肢

正解と解説

正解: SELECT MIN(生年月日) FROM 従業員 AS S2 WHERE S1.性別 = S2.性別

最年長とは生年月日が最も古い、つまり最小の行のことなので、それを除くには「自分と同じ性別の中の最小生年月日より新しい」という条件を書けばよい。副問合せの中で外側の別名S1を参照して性別を突き合わせる相関副問合せにすれば、性別ごとの最小値と比較できる。相関のないGROUP BYでは複数行が返って比較できない。

選択肢ごとの解説

出典:令和6年度 秋期 データベーススペシャリスト試験 午前II 問10(IPA)

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。