データベース

令和元年度 秋期 基本情報技術者試験 午前 問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 回(公開問題での観測値)

この知識をアプリで解いて覚える レッスン「SQLの集計(集計関数・GROUP BY・HAVING)」で学ぶ

同じ知識の過去問