基本情報技術者試験 基本情報技術者試験 令和元年度 秋期 午前 午前 問26: "得点"表から,学生ごとに全科目の点数の平均を算出し,平均が80点以上の学生の学生番号とその平均点を求める。a に入れる適切な字句はどれか。ここで,実線の下線は

基本情報技術者試験 令和元年度 秋期 午前
Q 2626 / 80
"得点"表から,学生ごとに全科目の点数の平均を算出し,平均が80点以上の学生の学生番号とその平均点を求める。a に入れる適切な字句はどれか。ここで,実線の下線は主キーを表す。 得点(学生番号, 科目, 点数) SELECT 学生番号, AVG(点数) FROM 得点 [a]
この問の正解率:43.33%(1,214件)
この問題の本文・選択肢・正解・解説(展開)

問題本文

"得点"表から,学生ごとに全科目の点数の平均を算出し,平均が80点以上の学生の学生番号とその平均点を求める。a に入れる適切な字句はどれか。ここで,実線の下線は主キーを表す。 得点(学生番号, 科目, 点数) SELECT 学生番号, AVG(点数) FROM 得点 GROUP BY [a]

選択肢

  • .科目 HAVING AVG(点数) = 80
  • .科目 WHERE 点数 = 80
  • .学生番号 HAVING AVG(点数) = 80
  • .学生番号 WHERE 点数 = 80

正解

. 学生番号 HAVING AVG(点数) = 80

解説

学生ごとの集約なので GROUP BY 学生番号。集約後のフィルタは HAVING を用い AVG(点数) = 80 で平均80点以上に絞る。

選択肢ごとの解説

  • .科目でGROUP BYしてしまうと学生ごとの平均にならない。
  • .WHERE は集約前条件で平均値を扱えない。
  • .学生番号でグループ化+HAVING で平均80以上=正解。
  • .WHERE では平均は使えない。

基本情報技術者試験 令和元年度 秋期 午前過去問一覧へ戻る・問26