SQL|SELECT FROM の処理順をExcel方式で確認する
作成日:2025-05-13
更新日:2025-05-14

SQLの
処理順を
確認する
処理順を
確認する
SELECT 商品名, SUM(小計) AS 小計
FROM 売上データ
WHERE 商品名 IN ('リンゴ', 'バナナ', 'パイナップル')
GROUP BY 商品名
HAVING SUM(数量) >= 10
ORDER BY 小計 ASC;

これは
何をやってるの?

Excelのやり方で
確認してみよう
① FROM
( + JOIN
)
Excel例)表を作成する(VLOOKUPでJOINする)

まずは
表の準備

② WHERE
Excel例)フィルタで不要な行を削除する

たとえば
メロンを削除する場合
(バナナ・リンゴ・パイナップルを残す)

WHERE は 行フィルタ
- WHERE = 行を選択するもの
- どの行が必要で、どの行が不要なのか
③ GROUP BY
Excel例)ピボットテーブルで集計する

ピボットテーブルは
グループごとに集計を出す役割

GROUP BY は ピボットテーブル
- 個々の値ではなく、まとめて表示する
④ HAVING
Excel例)ピボットテーブルに対して、さらに絞り込む

たとえば
「数量が10個以上の行だけ残す」

HAVING は ピボットテーブルに対するフィルタ
- グループごとの集計に、さらに条件を追加する
⑤ SELECT
Excel例)必要な列だけ表示する

最終的に
使う列だけ残す

SELECT は 列フィルタ
- 列は最後に選ばれる
- 見た目とは逆
- コード上はSELECTが先に書かれるが
- 実際は最後にフィルタされている

「SELECT xxx FROM xxx」
ついSELECTが先なのかと思うけど
実際の処理順序は違う
⑥ ORDER BY
Excel例)最終結果をソート(並び替え)する

ASCで
小さい順に並べる

ORDER BY は 最終見た目
- 表示してもいいと判断された行列の中で
- どの順で見せるかを決めるラストステップ
- ASC:昇順
- DESC:降順
参考文献
- Joe Celko’s SQL for Smarties: Advanced SQL Programming
- 達人に学ぶ SQL徹底指南書(ミック)
- 達人に学ぶDB設計徹底指南書(ミック)
Build the structure first, filter the rows second, and shape the columns last.
— Anonymous
まず構造を作り、次に行を絞り、最後に列を整える
構造→行→列
この順序
この順序
2025-05-13
編集後記:
この記事の内容がベストではないかもしれません。