令和6年度秋期 応用情報技術者試験 午前 問30

分野:データベース|実際に出題されたIPA過去問題

“成績”表に対して,SQL文1と同一の結果を得るために,SQL文2のaに入れる字句はどれか。

問題の図表(IPA公式問題冊子より引用)
図表:IPA公式問題冊子より
  1.  ORDER BY 学生番号, 実施回
  2.  PARTITION BY 学生番号 ORDER BY 実施回
  3.  PARTITION BY 学生番号 ORDER BY 得点 ASC
  4.  PARTITION BY 学生番号 ORDER BY 得点 DESC
解答・解説を見る

正解:イ

AI解説

SQL文1と同じ結果(学生ごとに実施回の順番で連番を振るなど)をウィンドウ関数で得るには、PARTITION BY で学生番号ごとにグループ化してグループ内の連番をリセットし、ORDER BY 実施回でそのグループ内の順序を実施回の昇順にする必要がある。よってイが正しい。 ア: PARTITION BY を指定していないため、学生番号ごとに連番がリセットされず、全体を通した連番になってしまい、SQL文1とは異なる結果になる。 イ: PARTITION BY 学生番号でグループを学生ごとに分け、ORDER BY 実施回でグループ内を実施回順に並べる指定であり、これがSQL文1と同一の結果を与える。 ウ: ORDER BY を得点の昇順にしており、実施回の順序ではなく得点順に並び替えてしまうため、SQL文1とは異なる結果になる。 エ: ORDER BY を得点の降順にしており、実施回の順序ではなく得点順(高得点順)に並び替えてしまうため、SQL文1とは異なる結果になる。 💡 ウィンドウ関数は『PARTITION BY=グループ化(集計のリセット単位)』『ORDER BY=グループ内の並び順』という役割分担を意識すると整理しやすい。

出典:令和6年度 秋期 応用情報技術者試験 午前 問30 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

「データベース」分野の攻略ポイント

関係モデル・正規化・SQL・トランザクション管理・障害回復・データベース設計が中心です。計算問題は少なく、定義と手順を正確に覚えていれば確実に得点できる、いわば「取りこぼしてはいけない」分野です。特に正規形とACID特性は毎年のように形を変えて出ます。

データベースの攻略ポイントをすべて見る(要点5項目・ひっかけ3項目)→

同じ分野(データベース)の過去問