ウカマル応用情報技術者ログイン

平成31年度 春期 応用情報技術者 問28

テクノロジ系

過去 3 年分の記録を保存している“試験結果”表から,2018 年度の平均点数が 600 点以上となったクラスのクラス名と平均点数の一覧を取得する SQL 文はどれか。ここで,実線の下線は主キーを表す。

試験結果

学生番号(主キー)受験年月日(主キー)点数クラス名
選択肢
正解と解説

正解 イ

2018年度の行をWHEREで先に絞り込み、クラスごとの平均点の条件はHAVING AVG(点数) >= 600で指定します。

WHEREはグループ化の前に行を選ぶ条件です。HAVINGはGROUP BYでまとめた後のグループを選ぶ条件です。2018年度は2018-04-01から2019-03-31までなので、WHERE 受験年月日 BETWEEN '2018-04-01' AND '2019-03-31'で対象の行を絞ります。次にGROUP BY クラス名でクラスごとにまとめます。最後にHAVING AVG(点数) >= 600で、平均点数が600点以上のクラスだけを残します。

ア:年度で絞り込む条件がありません。過去3年分すべての点数で平均を求めてしまいます。

ウ:HAVINGに集約していない点数を書いています。条件にすべきなのはクラスごとの平均点であるAVG(点数)です。

エ:600点以上の行を先に選んでから平均しています。そのため、平均点数ではなく、600点以上の答案だけの平均になります。年度の条件も、最新の受験年月日しか見ていません。

出典:平成31年度 春期 応用情報技術者試験 問28

全年度から出題。10問で実力を判定します。登録不要。

出典:平成31年度 春期 応用情報技術者試験 問28(独立行政法人情報処理推進機構)

解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方