データベーススペシャリスト令和4年秋期 午前U 問12
問12
"社員"表から,男女それぞれの最年長社員を除くすべての社員を取り出すSQL文とするために,aに入れる字句はどれか。ここで,"社員"表の構造は次のとおりであり、実線の下線は主キーを表す。
社員(社員番号,社員名,性別,生年月日)
〔SQL文〕
SELECT 社員番号, 社員名 FROM 社員 AS S1
WHERE 生年月日 > (a)
- [出題歴]
- データベース R2秋期 問10
- データベース H19春期 問35
- データベース H23特別 問11
- データベース H26春期 問10
- データベース H30春期 問10
分類
テクノロジ系 » データベース » データ操作
正解
ウ
解説
生年月日は、その値が大きいほど早く生まれたことになるので、男女それぞれの最年長社員を除くを社員の行を選択するためには、生年月日の値が男であれば男の最年長社員の生年月日よりも、女であれば女の最年長社員の生年月日よりも、大きい行だけを抽出することになります。つまり、
aの副問合せは、主問合せで処理中の行の性別が"男"であれば"男"の社員のうち最年長社員の生年月日が、主問合せで処理中の行の性別が"女"であれば"女"の最年長社員の生年月日が返るようになっている必要があります。
ここでは以下の表を使用して、正しい結果が得られるかを選択肢ごとに検証していきます。