IPA過去問ドリル

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

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

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

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

正解:イ

解説

クラスごと,教科ごとに平均点を集計するにはGROUP BY クラス名, 教科名が必要です。さらにクラス名,教科名の昇順に表示するにはORDER BY クラス名, 教科名を指定します。

選択肢ごとの解説

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