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

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
編集後記:
この記事の内容がベストではないかもしれません。
記事一覧
-
[SQL]inner-most isthe center JOINの書き方[まずA+B]最も内側のテーブルが一番大事である|inner-most -
Think fromFROM SQLはFROMから考え始める|まず構造を作ってから詳細へ -
Think in SetsSQLはお願いする言語 集合で考えるSQL|結果を宣言すればエンジンが動く宣言型 Think in Sets -
起源は意味のあるロゴス データベースの論理キーとは|意味と理由を大事にするロゴスが起源 -
The WHERE clause removesrows SQL[JOINとWHEREのNULLに注意]テーブルを繋げてふるいにかける -
一斉変化がSQLを書くコツ SQLを書くコツ|集合は一斉に変化することを理解する