“社員”表から、男女それぞれの最年長社員を除く全ての社員を取り出すSQL文とするために、aに入れる字句はどれか。ここで、“社員”表の構造は次のとおりであり、実線の下線は主キーを表す。 社員(社員番号, 社員名, 性別, 生年月日) ※社員番号が主キー 〔SQL文〕 SELECT 社員番号, 社員名 FROM 社員 AS S1 WHERE 生年月日 > ( [ a ] )
相関副問合せで同性内の最年長を求め、それより後を選ぶ
選択肢
- アSELECT MIN(生年月日) FROM 社員 AS S2 GROUP BY S2.性別
- イSELECT MIN(生年月日) FROM 社員 AS S2 WHERE S1.生年月日 > S2.生年月日 OR S1.性別 = S2.性別
- ウSELECT MIN(生年月日) FROM 社員 AS S2 WHERE S1.性別 = S2.性別
- エSELECT MIN(生年月日) FROM 社員 GROUP BY S2.性別
正解と解説
正解:ウ SELECT MIN(生年月日) FROM 社員 AS S2 WHERE S1.性別 = S2.性別
性別が同じ社員の中で最も早い生年月日を相関副問合せで求め、それより生年月日が後の社員だけを取り出せば、男女それぞれの最年長者が除かれる。外側の行の性別を副問合せの条件に渡す相関が要点である。
選択肢ごとの解説
- アGROUP BYを使うと性別ごとに複数行が返り、単一値を求める比較に使えない。
- イ条件がORで結ばれており、同性の中の最年長という絞り込みになっていない。
- ウ正しい。外側の行と同じ性別に限って最も早い生年月日を求めている。
- エ副問合せ内で別名S2を定義していないため参照できず、GROUP BYで複数行も返る。
同じ分野の他の問題
- "従業員"表から、男女それぞれの最年長従業員を除く全ての従業員を取り出すSQL文とするために、aに入れる字句はどれか。こ…2024年度 秋期 午前II 問10
- 表Aと表Bから、どちらか一方にだけ含まれるIDを得るSQL文のaに入れる字句はどれか。 〔SQL文〕 SELECT CO…2023年度 秋期 午前II 問10
- "社員"表から、男女それぞれの最年長社員を除く全ての社員を取り出すSQL文とするために、aに入れる字句はどれか。ここで、…2022年度 秋期 午前II 問12
- "文書"表、"社員"表から結果を得るSQL文のaに入れる字句はどれか。2022年度 秋期 午前II 問6
- "社員取得資格"表に対し、SQL文を実行して結果を得た。SQL文のaに入れる字句はどれか。 社員取得資格(社員コード,資…2021年度 秋期 午前II 問8
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。