當我們在撰寫SQL查詢語句時,需理解其執行順序。
以下是SQL Query的執行順序說明: (由上而下排列執行順序)
FROM:從中檢索資料的表
- SQL查詢的第一步是確定需要檢索資料的表。這個步驟決定了查詢的數據來源。
JOIN ON:連接和連接條件
- 當需要從多個表中檢索數據時,使用JOIN子句來指定如何連接這些表。ON子句用於定義連接條件,即哪些列應該匹配。
WHERE:行級過濾
- 接下來,SQL引擎會對表中的數據進行行級過濾。這意味著它會檢查每一行數據,並且只保留那些符合WHERE條件的行。
GROUP BY:分組說明
- 在過濾完行級數據後,SQL會將剩餘的數據進行分組。這通常是為了進行聚合操作,例如計算總和或平均值。
HAVING:組級過濾
- 當數據被分組後,HAVING子句用來過濾這些分組。這與WHERE子句相似,但HAVING是應用於分組後的數據。
SELECT:要返回的列或表示式
- SELECT子句決定了查詢結果中需要返回的列。這一步驟也可以包括算術運算或函數應用。
DISTINCT:返回唯一不同的值
- 如果需要消除結果集中重複的值,可以使用DISTINCT子句。這樣就確保了每一個返回的行都是唯一的。
ORDER BY:輸出排序順序
- 為了以特定的順序返回數據,可以使用ORDER BY子句。這可以按升序或降序排列結果。