ステップ1では、Excelを使った集計・ピボット・グラフを通して、「手元の表データを整理して説明できる力」 を鍛えました。
ステップ2ではもう一歩進んで、
「データベースから、必要なデータを自分で取りに行ける人」
を目指します。そのための武器が SQL(エスキューエル) です。
このステップで目指すゴール
まずはゴールをはっきりさせておきます。
ステップ2のゴール
- 基本的なSQL文(SELECT / WHERE / GROUP BY / ORDER BY / JOIN)が書ける
- 顧客ごとの売上合計や、月別の件数推移など、シンプルな集計クエリを自分で組み立てられる
- 既存のSQLを見て、「だいたい何をしているのか分かる」レベルになる
ここでは、いきなり高度なチューニングや複雑なサブクエリを目指す必要はありません。
「Excelでは扱いにくいデータ量でも、SQLなら集計して持ってこられる」状態
を作るのが、ステップ2の目的です。
なぜSQLが重要なのか
1. ほとんどの企業のデータは「データベース」に入っている
売上、顧客、アクセスログ、業務システムのデータ…
多くの会社では、データはExcelではなくデータベースに保存されています。
SQLが書けると、
- 「この条件のデータだけ出してほしい」
- 「月別の集計を見たい」
- 「特定の顧客だけを抽出したい」
といった要望に対して、自分でデータを取りに行けるようになります。
2. BIツール・機械学習でも「前処理」でSQLが使われる
BIツール(Tableauなど)やPythonで分析するときも、
- 事前にSQLでデータを加工しておく
- ビューを作成してから可視化ツールに渡す
という流れはよくあります。
SQLを知っておくと、後のステップ(BI・Python)にスムーズにつながるので、投資対効果が高いスキルです。
学習の全体イメージ(1〜2ヶ月)
ステップ2は、1〜2ヶ月くらいで次の順番で進めるイメージがおすすめです。
- SQLの基本構造に慣れる
- WHEREで絞り込みができるようになる
- GROUP BYで集計ができるようになる
- ORDER BYで並べ替え・LIMITで上位だけ見る
- JOINでテーブルを結合できるようになる
- 実務に近いミニ課題をこなす
それぞれ順番に見ていきます。
1. SQLの基本構造に慣れる
SQLの基本的な形は、とてもシンプルです。
SELECT 列名
FROM テーブル名;
- SELECT:何を(どの列を)取り出すか
- FROM:どこから(どのテーブルから)取り出すか
まずはこの形に慣れるところから始めましょう。
この段階でやること
- サンプル用のデータベース(オンライン環境やローカル)を用意する
- SELECT * FROM テーブル名; で、テーブルの中身を眺めてみる
- 特定の列だけ指定して取得してみる
2. WHEREで絞り込みができるようになる
次に、条件を指定して絞り込む WHERE 句を覚えます。
SELECT 列名
FROM テーブル名
WHERE 条件;
代表的な使い方
- 数値条件:売上 > 100000
- 文字条件:顧客区分 = ‘法人’
- 日付条件:注文日 >= ‘2024-01-01’
- 複数条件:AND / OR を使った組み合わせ
学び方のポイント
- 「Excelのフィルタでやっていたことを、SQLで書くとどうなるか?」 を意識するとイメージしやすくなります。
- シンプルな条件から始めて、徐々にAND / OR を組み合わせていきましょう。
3. GROUP BYで集計ができるようになる
SQLの大きな醍醐味は、まとめて集計ができることです。
SELECT 顧客ID, SUM(売上金額) AS 合計売上
FROM 売上テーブル
GROUP BY 顧客ID;
よく使う集計関数
- SUM:合計
- COUNT:件数
- AVG:平均
- MAX / MIN:最大・最小
学び方のポイント
- 「Excelのピボットテーブルでやっていたことを、SQLで書いたらどうなるか?」 を意識して、1パターンずつ練習するのがおすすめです。
- 顧客別、月別、商品別など、切り口を変えた集計をいくつか試してみましょう。
4. ORDER BYとLIMITで結果を整える
集計ができるようになったら、結果を並べ替える・上位だけを見る操作も身につけます。
SELECT 顧客ID, SUM(売上金額) AS 合計売上
FROM 売上テーブル
GROUP BY 顧客ID
ORDER BY 合計売上 DESC
LIMIT 10;
- ORDER BY:並べ替え(ASC:昇順/DESC:降順)
- LIMIT:上位何件まで表示するか(DB製品によって書き方は少し違う)
これができると、
- 「売上TOP10の顧客」
- 「直近30件の注文」
など、実務でよく見る一覧をSQLで作れるようになります。
5. JOINでテーブルを結合できるようになる
最後の大きな山が JOIN(結合) です。
SELECT 売上.注文ID, 売上.顧客ID, 顧客.顧客名, 売上.売上金額
FROM 売上テーブル AS 売上
JOIN 顧客マスタ AS 顧客
ON 売上.顧客ID = 顧客.顧客ID;
JOINが必要になる場面
- 「売上テーブル」には顧客IDしか入っていない → 顧客名を出したいときに、顧客マスタと結合する
- 「商品ID」だけしかない → 商品マスタとJOINして商品名を出す
学び方のポイント
- 最初は INNER JOIN だけに絞ってOK
- 「左側が売上」「右側がマスタ」といった役割関係を意識すると理解しやすくなります
6. 実務に近いミニ課題をこなす
上の要素が一通り触れたら、最後はミニ課題で総復習します。
例としては、
- 「2024年の月別売上推移を出し、前年と比較する」
- 「法人顧客だけを対象に、売上TOP10を出す」
- 「売上テーブル+顧客マスタをJOINして、顧客名・区分付きの一覧を作る」
などです。
「Excelならどうやるか?」を考えたあとに、「同じことをSQLでどう書くか?」を考える
という流れで練習すると、ExcelとSQLの頭の切り替えもうまくいきます。
よくあるつまずきポイントと対処法
① いきなり難しい問題集から始めてしまう
→ 対処:
- まずは SELECT / WHERE / GROUP BY / JOIN だけに絞る
- 一問一答形式の「基礎問題」を一周してから、応用問題に進む
② 「写経」で終わってしまい、応用が効かない
→ 対処:
- 教材の例題を写したあとに、自分で数字や条件を少し変えて再実行してみる
- 「この条件を変えたら結果はどう変わるか?」を毎回確認する
③ JOINが怖くて手が止まる
→ 対処:
- 必要以上に種類(LEFT JOIN・RIGHT JOIN・FULL…)を覚えようとしない → 最初は INNER JOIN に集中でOK
- 「左側=明細(売上など)、右側=マスタ」と役割を固定してイメージする
次のステップとロードマップへの接続
ステップ2(SQL入門)まで終えられれば、
- Excelでの集計・グラフ
- SQLでの抽出・集計
という強力な二刀流になっています。
次のステップでは、
【ステップ3】Tableau入門|ダッシュボードの作り方と基本手順(初心者向け)
に進みます。SQLで作ったデータをBIに渡して、「刺さる可視化」と「ストーリーのある説明」ができるようになるフェーズです。
データ・AI学習の全体像(ステップ0〜6)をまだ読んでいない方は、先にこちらの記事から全体の地図をチェックしてみてください。
→ 社会人のデータ分析ロードマップ|Excel→SQL→BI→Pythonで半年〜1年の全体像
また、Excelの基礎がまだ不安な方は、ステップ1の記事からじっくり固めるのがおすすめです。
→ 【ステップ1】Excel基礎|関数・ピボットで“数字に強い人”になる(初心者向け)
ステップ2は、最初は少しとっつきにくく感じるかもしれませんが、
一度「SELECT〜JOIN」までつながると、一気に世界が広がるポイントです。
毎日少しずつでもSQLを書き続けて、「データを自分で取りに行ける20代」を一緒に目指していきましょう。
入門で伝わるグラフを作れる人になる|データ・AI学習ロードマップ-160x90.png)



入門で伝わるグラフを作れる人になる|データ・AI学習ロードマップ-120x68.png)