本章節是補充SQL知識的部份,SQL語法本身也算是一種程式語言,所以自然也是有它執行的順序問題,也因為執行順序的問題,會產生一些結果和我們撰寫語法時所以為的順序不一樣的狀況。
書寫SQL語法的順序
SELECT -> FROM -> WHERE -> GROUP BY -> HAVING -> ORDER BY
執行SQL語法的順序
FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY
- 各個語法的執行意義如下:
關鍵詞 | 執行的意義 |
---|---|
FROM | 需要從哪個資料表檢索資料 |
WHERE | 過濾表中資料 |
GROUP BY | 將上面過濾出的資料分組 |
HAVING | 對上面已經分組的資料進行過濾 |
SELECT | 檢視結果集中的哪個列,或列的計算結果 |
ORDER BY | 按照什麼樣的順序來檢視返回的資料 |