平成31年度 春期 応用情報技術者試験 午前 問28
過去3年分の記録を保存している"試験結果"表から,2018年度の平均点数が600点以上となったクラスのクラス名と平均点数の一覧を取得するSQL文はどれか。ここで,実線の下線は主キーを表す。

キーボード:1〜4 で解答 → 次の問題 ← 前の問題
正解と解説を見る
解答する前に解説を開いたので、この問題は「見て解いた」として記録します(正解数には入りません)。
正解:イ
-
条件のポイント
2018年度の期間は「2018年4月1日から2019年3月31日」です。
この期間に受験した試験結果が対象となるため、WHERE 受験年月日 BETWEEN '2018-04-01' AND '2019-03-31' の条件が必要です。
クラスごとの平均点数を求め、その平均点数が600以上である必要があります。 -
ア: 受験年月日の条件が記載されていません。これでは過去すべての記録が対象となるため、不適切です。
-
イ: 受験年月日の範囲指定が正しく行われており、クラスごとにグループ化して平均点数を計算し、600点以上をHAVINGで絞り込んでいます。これが正解です。
-
ウ: HAVINGで点数が600点以上のレコードを絞っていますが、これは平均点ではなく単一の点数に対しての制約になってしまいます。したがって不適切です。
-
エ: WHERE句で点数が600以上のデータしか取得しないため、平均点の計算が正確に行えません。さらにHAVINGで受験年月日を条件にしている点も適切ではありません。
答え
イ
出典:平成31年度 春期 応用情報技術者試験 午前 問28