中小企業診断士試験の科目の中でも、「経営情報システム」は苦手科目になりやすい分野として知られています。とりわけSQLに関する問題を見ると、アルファベットや記号が並んでいるため、プログラミングのように感じてしまい、「IT経験がない自分には難しい」と考えてしまう受験生も少なくありません。
しかし、この認識は大きな誤解です。SQLは高度なプログラムを書くための技術ではなく、データを取り出すためのルールを定めた言語に過ぎません。基本構造を理解すれば、むしろ試験では得点しやすい論点になります。
出題パターンは比較的安定しており、SELECT・FROM・WHEREといった基本構造や、条件分岐、テーブルの結合といったポイントを理解していれば、多くの問題を読み解くことができます。ここでは、SQLを初めて学ぶ受験生でも理解できるように、仕組みと重要ポイントを具体例と図表を交えながら整理します。


SQLが必要になる理由
まず、SQLがなぜ必要なのかを理解することが重要です。
企業では日々膨大なデータが蓄積されています。例えば小売業であれば、商品の売上、在庫、顧客の購入履歴などの情報が毎日追加されます。
こうしたデータは表の形で整理されます。Excelとよく似た構造ですが、企業のデータベースでは扱うデータ量が桁違いになります。
売上データの例
| 日付 | 商品名 | 顧客 | 売上金額 |
|---|---|---|---|
| 4/1 | コーヒー | 田中 | 450 |
| 4/1 | サンドイッチ | 鈴木 | 520 |
| 4/2 | コーヒー | 山田 | 450 |
| 4/2 | ケーキ | 佐藤 | 600 |
Excelでもこのような表は作れます。しかし企業ではこのようなデータが毎日追加され、数年分のデータが蓄積されます。
すると、データは数十万件、数百万件という規模になります。Excelでは処理が難しくなるような巨大データを扱うために利用されるのがデータベースです。
そして、データベースから必要な情報を取り出すための言語がSQLです。
SQLの基本構造
SQLの基本は非常にシンプルです。
どのデータを
どの表から
どんな条件で
取り出すのかを指定するだけです。
SQLの基本構造
| キーワード | 役割 | 意味 |
|---|---|---|
| SELECT | 列の指定 | 表示したい項目 |
| FROM | 表の指定 | データを取得するテーブル |
| WHERE | 条件指定 | どのデータを抽出するか |
例えば、売上データの中から「商品名」と「売上金額」だけを確認したい場合があります。
さらに「500円以上の商品だけを見たい」とすると、条件を追加します。
SQLはこのような条件を文章ではなく、決められた書き方で表現しているだけです。
SQLの処理イメージ
テーブル
↓
条件で絞り込み
↓
必要な列を表示
↓
結果
この流れを頭の中でイメージできるようになると、SQLの問題は格段に読みやすくなります。
SQLの抽出例
例えば次のような売上データがあるとします。
売上テーブル
| 商品 | 金額 |
|---|---|
| コーヒー | 450 |
| ケーキ | 600 |
| サンドイッチ | 520 |
| クッキー | 300 |
ここから「500円以上の商品」を取り出すとします。
抽出結果
| 商品 | 金額 |
|---|---|
| ケーキ | 600 |
| サンドイッチ | 520 |
SQLでは、このような条件抽出を一瞬で行うことができます。データが数百万件あっても同じです。
試験で重要な比較演算子
SQLで条件を指定するときに使われるのが比較演算子です。
比較演算子一覧
| 記号 | 意味 |
|---|---|
| = | 等しい |
| > | より大きい |
| < | より小さい |
| >= | 以上 |
| <= | 以下 |
| <> | 等しくない |
試験では、特に「境界条件」が重要になります。
例えば在庫管理を考えてみます。
在庫テーブル
| 商品 | 在庫数 |
|---|---|
| 牛乳 | 5 |
| パン | 3 |
| チーズ | 8 |
| 卵 | 12 |
ここで「在庫5個以下の商品」を抽出するとします。
抽出結果
| 商品 | 在庫数 |
|---|---|
| 牛乳 | 5 |
| パン | 3 |
このとき牛乳は条件に含まれます。
しかし「5未満」の条件であれば牛乳は含まれません。
このように「条件に数値が含まれるかどうか」が試験ではよく問われます。1点差を分ける重要なポイントです。
条件によって結果を変えるCASE式
SQLでは条件に応じて結果を変えることもできます。これがCASE式です。
例えば顧客を購入金額によってランク分けするとします。
顧客ランク基準
| 購入金額 | ランク |
|---|---|
| 20000以上 | VIP |
| 10000以上 | 優良 |
| 10000未満 | 一般 |
購入データ
| 顧客 | 金額 |
|---|---|
| 佐藤 | 25000 |
| 鈴木 | 12000 |
| 山本 | 5000 |
CASE式を使うと次のような結果を作れます。
結果
| 顧客 | 金額 | ランク |
|---|---|---|
| 佐藤 | 25000 | VIP |
| 鈴木 | 12000 | 優良 |
| 山本 | 5000 | 一般 |
CASE式は構文が長く見えるため難しく感じますが、実際には
もしこの条件ならこの結果
それ以外なら別の結果
という単純な条件分岐です。
試験では、この処理の最後に式を終了する記述が必要であることが問われることがあります。
複数のテーブルをまとめるUNION
SQLでは複数のテーブルをまとめることもできます。そのときに使うのがUNIONです。
例えば、東京店と大阪店の売上データが別の表にあるとします。
東京店
| 商品 | 売上 |
|---|---|
| コーヒー | 10000 |
| ケーキ | 8000 |
大阪店
| 商品 | 売上 |
|---|---|
| コーヒー | 9000 |
| クッキー | 7000 |
UNIONを使うと次のようになります。
統合結果
| 商品 | 売上 |
|---|---|
| コーヒー | 10000 |
| ケーキ | 8000 |
| コーヒー | 9000 |
| クッキー | 7000 |
ただし重要なルールがあります。
結合するテーブルは
列の数
列の順序
データの種類
が一致している必要があります。
このルールは診断士試験でも頻繁に問われます。
SQLは実務でも重要なスキル
SQLは試験対策のためだけの知識ではありません。企業のデータ分析において非常に重要な役割を持っています。
例えば企業では次のような分析を行います。
どの商品が一番売れているのか
どの地域で売上が伸びているのか
どの顧客が継続購入しているのか
こうした分析は大量のデータを扱う必要があります。その際にSQLの考え方が役立ちます。
中小企業診断士は企業の経営課題をデータから見つける仕事です。SQLの基本を理解しておくことで、データの読み方そのものが変わってきます。
SQLは決してエンジニアだけの専門技術ではありません。データベースと対話するための合理的な言語です。
基本構造であるSELECT・FROM・WHEREを理解し、条件分岐やデータ結合の考え方を整理していけば、経営情報システムのSQL問題は得点源になります。
そしてその知識は、試験合格後に企業のデータを分析する場面でも必ず役立つ力になります。

