データベース
令和元年度 秋期 基本情報技術者試験 午前 問26
"得点"表から,学生ごとに全科目の点数の平均を算出し,平均が 80 点以上の学生の学生番号とその平均点を求める。a に入れる適切な字句はどれか。ここで,実線の下線は主キーを表す。
得点(学生番号, 科目, 点数) ※学生番号と科目に実線の下線(主キー)
〔SQL 文〕
SELECT 学生番号, AVG(点数)
FROM 得点
GROUP BY [a]
- ア 科目 HAVING AVG(点数) >= 80
- イ 科目 WHERE 点数 >= 80
- ウ 学生番号 HAVING AVG(点数) >= 80
- エ 学生番号 WHERE 点数 >= 80
出典:令和元年度 秋期 基本情報技術者試験 午前 問26
答えと解説を見る
正解:ウ
覚える知識
SQLのGROUP BY句とHAVING句
GROUP BY でグループ化し、グループに対する条件は HAVING で指定する。
この問題で必要なこと
学生ごとの平均点を求めるため GROUP BY 学生番号とし、集計結果の条件は WHERE ではなく HAVING で指定する。
ひっかけ
集計後の条件を WHERE に書く誤りや、グループ化列を科目にする誤り。
この知識の出題:本試験系 5 回・免除試験 0 回(公開問題での観測値)