修了試験 2026-01-25実施分 基本情報技術者試験 問20
“中間テスト”表からクラスごと,教科ごとの平均点を求め,クラス名,教科名の昇順に表示するSQL文中のaに入れる字句はどれか。 中間テスト(クラス名,教科名,学生番号,名前,点数) 〔SQL文〕 SELECT クラス名,教科名,AVG(点数) AS 平均点 FROM 中間テスト [ a ]
正答2
解説
正解は2です。 この問題は、グループごとの集計と並べ替えを行うSQLの句を問うています。 クラスごと、教科ごとに平均を求めるには、GROUP BY句にクラス名と教科名を指定します。 クラス名、教科名の昇順に表示するには、ORDER BY句にクラス名と教科名を指定します。 ORDER BY句で並び順を省略すると、昇順(ASC)になります。 【選択肢別解説】 1:× GROUP BY句は正しいものの、ORDER BY句でクラス名の次にAVG(点数)を指定しています。 これではクラス内が平均点の低い順に並び、教科名の昇順になりません。 2:○ GROUP BY クラス名,教科名で、クラスと教科の組合せごとに平均点を求められます。 ORDER BY クラス名,教科名で、クラス名、教科名の昇順に表示されます。 3:× GROUP BY句に学生番号を加えると、学生ごとにグループが分かれます。 各グループは学生1人分の点数になり、クラス・教科ごとの平均点になりません。 4:× GROUP BY句に指定している平均点は、集計結果に付けた別名なので、グループ化の基準にはできません。 また、教科名でグループ化していないので、教科ごとの平均点も求められません。 【ポイント】 SELECT句に集計関数以外で書く列は、GROUP BY句に含める必要があります。 集計後の行を条件で絞るときはHAVING句、並べ替えにはORDER BY句を使います。まとめて解く
修了試験 2026-01-25実施分を通しで解く(60問)→