平成25年度 春期 ITパスポート試験 公開問題 問61 解説 データベースの結合と集計
関係データベースの“売上”表と“顧客”表を顧客コードで結合し、顧客コード でグループ化して顧客ごとの売上金額の合計を求め、売上金額の合計を降順に整列 した。得られた結果の先頭レコードの顧客名はどれか。
- ア 井上花子
- イ 佐藤太郎 ✓ 正答
- ウ 鈴木三郎
- エ 田中梅子
解説
この問題は、以下の3ステップで確実に解くことができます。
- 顧客コードごとに売上金額を合計する
- 合計金額の大きい順(降順)に並べ替える
- 1位の顧客コードに対応する名前を答える
集計の手順とデータ処理
まず、売上表から同じ顧客コード(K01~K04)を探し、それぞれの売上金額を合算します。
- K01: 40 + 20 = 60
- K02: 80 + 50 = 130
- K03: 120
- K04: 70
次に、これらの合計金額を大きい順に並べ替えます。 1位:130(K02) 2位:120(K03) 3位:70(K04) 4位:60(K01)
最後に、顧客表を参照して、1位である顧客コード「K02」が誰であるかを確認します。顧客表によると、K02は「佐藤太郎」であることがわかります。したがって、正解はイとなります。
データベース操作の基本概念
この問題で求められている一連の操作は、SQLというデータベース操作言語の基本的な処理そのものです。
- 結合(JOIN): 顧客コードをキーとして、売上表と顧客表を一つの表として扱う処理です。これにより、コードしか持たない売上データに、具体的な顧客名を紐付けることが可能になります。
- グループ化(GROUP BY): 特定の列の値が同じレコードをひとまとめにする処理です。今回の場合は「顧客コード」でグループ化することで、顧客ごとの集計が可能になりました。
- 集計関数(SUM): グループ化したデータに対して、指定した列の値を合計する関数です。
- 並べ替え(ORDER BY): データを特定の順序(昇順や降順)に並べ替える処理です。
現場で求められるデータ抽出の考え方
このような操作は、実際のビジネス現場で「売上分析レポート」を作成する際に欠かせないものです。「どの顧客が一番売上に貢献しているか?」という問いに対して、コンピュータを使って迅速に回答を導き出すための論理的思考を問うています。
試験ではデータが表として提示されていますが、実際のシステム開発やデータ分析の現場では、数万、数百万行のレコードから瞬時に結果を出す必要があります。そのため、今回のような「データの紐付け」「グルーピング」「ソート」という処理手順を正しく理解しておくことは、システムがどのようにデータを加工して価値のある情報に変えているかを理解する第一歩となります。