IPA過去問ドリル

平成25年度 春期 基本情報技術者試験 午前 問28

テクノロジ/データベース

“中間テスト”表からクラスごと,教科ごとの平均点を求め,クラス名,教科名の昇順に表示する SQL 文中の a に入れるべき字句はどれか。 中間テスト(クラス名,教科名,学生番号,名前,点数) 〔SQL文〕 SELECT クラス名, 教科名, AVG(点数) AS 平均点  FROM 中間テスト   a

出典:平成25年度 春期 基本情報技術者試験 午前 問28

正解:イ

解説

クラスごと,教科ごとに平均点を求めるには,GROUP BY句にクラス名と教科名を指定する必要があります。また,結果をクラス名,教科名の昇順に表示するには,ORDER BY句にもクラス名,教科名を指定します。

選択肢ごとの解説

  • 誤り。ORDER BYにAVG(点数)を指定すると平均点順の並び替えになり,教科名の昇順という指定を満たしません。
  • 正しい。GROUP BYとORDER BYの両方にクラス名,教科名を指定することで,正しい集計と並び替えができます。
  • 誤り。GROUP BYに学生番号まで加えると,学生ごとに集計されてしまい,クラス・教科ごとの平均点にならなくなります。
  • 誤り。GROUP BYに平均点(集計結果)を指定することはできず,集計前の列を指定する必要があります。
基本情報技術者の過去問を演習モードで解く