基本情報トップに戻る
練習問題難易度: 標準2019年度

基本情報技術者 過去問練習問題 第26問

問題

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

選択肢

  1. 1科目 HAVING AVG(点数) >= 80
  2. 2科目 WHERE 点数 >= 80
  3. 3学生番号 HAVING AVG(点数) >= 80
  4. 4学生番号 WHERE 点数 >= 80

正解

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

詳しい解説を見る

解説

学生ごとに平均点を算出するので、GROUP BY は「学生番号」でグループ化します(科目でまとめると科目別平均になってしまうためアとイは誤り)。さらに、グループ化した結果に対する条件(平均が 80 点以上)は WHERE ではなく HAVING で指定します。WHERE は集約前の行に対する条件で、AVG などの集約関数は使えません。したがって GROUP BY の後に「学生番号 HAVING AVG(点数) >= 80」を続けるウが正解です。(出典: 令和元年度 秋期 基本情報技術者試験 午前 問26)

一問一答

科目A 180問+科目B 60問

練習問題の関連問題

この調子で演習を続けよう

スキマ資格では基本情報の全2398問を分野別・難易度別に体系的に学習できます。基本情報技術者は科目A(広く浅く)と科目B(プログラミング・アルゴリズム)の両輪での対策が必要です。