SQLはFROMから考え始める|まず構造を作ってから詳細へ
作成日:2025-05-14
更新日:2025-05-14

structure-first
構造から始める
構造から始める

構造から?

木を見るより森を見る
ってこと
FROMで 森 を作る
森 = 全体像の仮想テーブルを作る

FROM が
仮想テーブルを作る
The FROM clause is done first.
FROMは最初に処理される。
FROMは森、SELECTは個々の木
- FROMは一番最初に処理される
- JOIN, UNIONなどでvirtual tableを作る
- SELECTやWHEREは、virtual table(森)がなければ機能しない

森を作ることは
「構造を作る」と呼ぶ
JOIN も FROM の中で構造を支える

JOIN は FROM の中で
「どうテーブルを合成するか」を定義する
結合する JOIN
- 複数のテーブルを結合して、新たな構造を作る
- JOINも「構造変換」の一種
関連用語
英語 | 用途・言い換え |
---|---|
framework | 枠組み |
blueprint | 設計図 |
whole picture big picture | 全体像 |
forest | 森(全体空間の比喩) |
ingredients raw materials | 素材、原材料 |
virtual table | FROM句で作られる仮想の一時テーブル |
structure-first | 構造設計を優先する |
join operator | テーブルを結合するSQL構文 |
execution order | 実行順 |

どうやって
構造から始めるの?

1歩ずつ考えよう
構造から始めるステップ
実行順序を確認する
execution order|実行順
FROM → WHERE → GROUP BY → HAVING → SELECT

先に SELECT を
書かない
コーディング前に構造をメモする習慣を作る

どんなテーブルがあれば
欲しい答えが出るのか
- 出したい結果を紙に書く
- そのために必要な列を洗い出す
- テーブル間のJOIN構造を描く
- テーブルの形を書いてみる
- 最後にSELECT句で整形
書き出す例
出したい結果:社員名、部署名、1ヶ月の勤務時間合計
使用テーブル:社員・部署・勤怠
関係:社員→部署(部署ID)、社員→勤怠(社員ID)
中間構造:社員部署ビュー → 勤怠明細ビュー
集計方法:SUM(勤務時間)、GROUP BY 社員名・部署名

どんなテーブルがあれば…
つまり、どんな FROM にすればいいか
参考文献
- Joe Celko’s SQL for Smarties: Advanced SQL Programming
- 達人に学ぶ SQL徹底指南書(ミック)
- 達人に学ぶDB設計徹底指南書(ミック)
Think from FROM.
FROMから!
FROMから!

FROM は 地味だけど偉大な存在
CLICK
2025-05-14
編集後記:
この記事の内容がベストではないかもしれません。