基本情報技術者試験 過去問解説

SQLとは?基本情報技術者試験 平成31年度 春期 午前 問27を解説

基本情報技術者試験 平成31年度 春期 午前 問27は、SQLに関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。

問題文

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

この問題の出題ポイント

  • SQLの定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
  • 関連タグ: SQL、ビジネスモデル、メモリ。

選択肢

  1. GROUP BY クラス名,教科名 ORDER BY クラス名,AVG(点数)
  2. GROUP BY クラス名,教科名 ORDER BY クラス名,教科名正解
  3. GROUP BY クラス名,教科名,学生番号 ORDER BY クラス名,教科名,平均点
  4. GROUP BY クラス名,平均点 ORDER BY クラス名,教科名

正解

: GROUP BY クラス名,教科名 ORDER BY クラス名,教科名

解説

クラスごと教科ごとの平均なら GROUP BY クラス名, 教科名。ORDER BY はクラス名・教科名の昇順を要求しているのでこの 2 列を指定。イが正解。

なぜ他の選択肢が違うのか

  • ORDER BY に AVG(点数) があると平均点順となり、教科名の昇順にならない。

  • イ(正解)

    GROUP BY クラス名, 教科名 / ORDER BY クラス名, 教科名 で要件を満たす。正解。

  • GROUP BY に学生番号を含めると学生ごとの集計になり、クラス・教科の平均にならない。

  • GROUP BY に平均点は集計関数の結果で意味をなさない。

解き方の整理

SQLの問題では、選択肢のキーワードだけで判断せず、問題文が示す条件と正解選択肢の説明が一致しているかを見ます。誤答選択肢は、似た用語を混ぜる、主体を入れ替える、目的や範囲を広げすぎる、という形で作られることが多いため、選択肢別解説まで確認しておくと復習効率が上がります。

関連問題

前後の問題

平成31年度 春期 午前 の関連する問題

復習を続ける

間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。