問66 |
“社員”表から、男女それぞれの最年長社員を除くすべての社員を取り出すSQL文とするために、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.性別 |
|
|
解説 |
まず、aを残したまま全体を考えると、aの結果よりも生年月日の値が大きい(遅く生まれている)ものを取り出しています。つまり、あとはaの中で同じ性別であることを調べればよいことになります。社員表をS1としているのに使われていないので、aのなかで内部と外部の表を結合していることが分かります。つまり、S1.性別=S2.性別が必要になります。 |
|