ITパスポート試験 過去問解説

SQLとは?ITパスポート試験 2013年 (平成25年 春期) 問61を解説

ITパスポート試験 2013年 (平成25年 春期) 問61は、SQLに関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。

問題文

関係データベースの"売上"表と"顧客"表を顧客コードで結合し,顧客コードでグループ化して顧客ごとの売上金額の合計を求め,売上金額の合計を降順に整列した。得られた結果の先頭レコードの顧客名はどれか。 売上 顧客

この問題の出題ポイント

  • SQLの定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
  • テクノロジ系分野では、用語の目的・主体・責任範囲の違いが選択肢で問われやすい。
  • 関連タグ: SQL、結合、集計、図表問題。

選択肢

  1. 井上花子
  2. 佐藤太郎正解
  3. 鈴木三郎
  4. 田中梅子

正解

: 佐藤太郎

解説

売上表と顧客表を顧客コードで結合すると,各売上明細に顧客名が紐付く.顧客ごとの売上合計をグループ集計するとK01(井上花子)=40+20=60,K02(佐藤太郎)=80+50=130,K03(鈴木三郎)=120,K04(田中梅子)=70.売上金額合計の降順に整列するとK02 130→K03 120→K04 70→K01 60の順となり,先頭レコードはK02の佐藤太郎.以上から正解はイ.SQL文ではSELECT 顧客名,SUM(売上金額) FROM 売上 JOIN 顧客 USING(顧客コード) GROUP BY 顧客コード ORDER BY SUM(売上金額) DESCに相当する処理で,結合・集計・整列の基本操作を組み合わせた典型問題.

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

  • 井上花子(K01)の売上合計は40+20=60万円で4人中最小.結合・グループ化・降順整列を経て先頭に来るレコードとしては不適切で,降順では最後尾となる.「降順」は売上金額合計の大→小の順で整列するため,K01が先頭になることはなく本選択肢は誤り.

  • イ(正解)

    正解.佐藤太郎(K02)の売上合計は80+50=130万円で4人中最大.顧客コード結合+グループ化+売上金額合計降順整列の結果,K02の130万円が先頭に来る.設問の処理を正しく追跡すれば最初に現れるレコードの顧客名は佐藤太郎となり,本選択肢が適切な解答である.

  • 鈴木三郎(K03)の売上合計は120万円で4人中2位.顧客コード結合・グループ化・降順整列を経るとK02(130万円)に次ぐ2番目に位置し先頭ではないため,本問の先頭レコードの顧客名としては誤り.売上順位を取り違えると誤答に至る典型的なパターンであり,合計値の大小を慎重に比較する必要がある.

  • 田中梅子(K04)の売上合計は70万円で4人中3位.顧客コード結合・グループ化・降順整列を経るとK02(130)→K03(120)→K04(70)→K01(60)の順となり3番目に位置するため先頭ではない.先頭レコードはK02の佐藤太郎であり,K04を先頭とするのは整列結果と矛盾するため本選択肢は誤り.

解き方の整理

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

関連問題

前後の問題

2013年 (平成25年 春期) の関連する問題

復習を続ける

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