中小企業診断士の過去問
令和5年度(2023年)
経営情報システム 問9
このページは閲覧用ページです。
履歴を残すには、 「新しく出題する(ここをクリック)」 をご利用ください。
問題
中小企業診断士試験 第1次試験 経営情報システム 令和5年度(2023年) 問9 (訂正依頼・報告はこちら)
以下に示す、ある小売店における販売データ「取引記録」から併売分析を行いたい。異なる2つの商品の組み合わせに対して、それらが同時に取引された件数を求める「集計結果」を得るためのSQL文を考える。
以下のSQL文の空欄①~③に入る記述の組み合わせとして、最も適切なものを下記の解答群から選べ。
以下のSQL文の空欄①~③に入る記述の組み合わせとして、最も適切なものを下記の解答群から選べ。
- ①:A. 取引ID=B. 取引ID ②:A. 商品ID<B. 商品ID ③:DESC
- ①:A. 取引ID=B. 取引ID ②:A. 商品ID<B. 商品ID ③:ASC
- ①:A. 取引ID=B. 取引ID ②:A. 商品ID<>B. 商品ID ③:ASC
- ①:A. 取引ID<B. 取引ID ②:A. 商品ID=B. 商品ID ③:DESC
- ①:A. 取引ID<B. 取引ID ②:A. 商品ID<>B. 商品ID ③:ASC
正解!素晴らしいです
残念...
この過去問の解説 (2件)
01
正解は、「①:A. 取引ID=B. 取引ID ②:A. 商品ID<B. 商品ID ③:DESC」です。
【基礎知識】
SQLの問題です。SQLとは、データベースを操作するための言語です。具体的にはデータベース、テーブルの作成、変更、削除、データの検索、登録、変更、削除などを行います。
SQLの基本的な文法について説明します。
〇SELECT文
SELECT<列名> 抽出する列を指定(複数ある場合は“,”で並べる)
FROM<表> 問い合わせ対象の表を指定。
WHERE<条件式> 行に対する条件を指定。
〇データの並び替え
ORDER BY <列名> ASC または DESC 並び替えを行う列を指定します。ASC→昇順、DESC→降順。省略した場合はASCです。
GROUP BY <列名> グループ化する列を指定します。複数の列を指定する場合は“、”で区切ります。
例えば、購買データで男性の購買金額を合計をしたい場合などに、GROUP BY “男性”とすると、列が男性の部分をグループ化し、購買金額を合計します。
AS文
A as Bで、AをBとして扱う(別名)という構文になります。
WHERE文
条件を加える処理になります。
以上の知識を踏まえ、問題文のSQLを見ていきます。
1,2行目はSELECT文でデータベースを作成しています。
その内容は、Aの商品IDを商品1、Bの商品IDを商品2、件数を数えて、件数として表示するという文になります。
A、Bは定義されていませんが、次のFROM文で判明します。
同じテーブル(取引記録)を2つ作ってA、Bと定義していることがわかるかと思います。
次にWEHER条件です。併売分析ですので、同じ取引で同時に何を買ったかを調べる条件になります。
つまり、A.取引ID = B.取引IDとなります。
次にGROUP BYで商品IDをまとめています。
最後に並び替えですが、降順に並んでいますので、“DESC”になります。
参考になった数10
この解説の修正を提案する
02
SQL文に関する問題です。
与件文から、以下のことを読み取ることができます。
●販売データ「取引記録」から併売分析を行いたい
→「A. 取引ID=B. 取引ID」でなければ、併売分析はできません。この時点で選択肢を5択→3択に絞り込むことができます。
●異なる2つの商品の組み合わせに対して、それらが同時に取引された件数を求める「集計結果」を得る
→集計結果は、数の大きいものから順に「降順」(DESC)で表示されます。したがって、ここで選択肢は1つに絞られます。
正解の選択肢となります。
不適切な選択肢です。
不適切な選択肢です。
不適切な選択肢です。
不適切な選択肢です。
参考になった数6
この解説の修正を提案する
前の問題(問8)へ
令和5年度(2023年)問題一覧
次の問題(問10)へ