SQL語句的執行順序是怎樣的呢?
SQL語句的語法格式如下:
select distinct 要查的字段,sum(列字段),開窗函數,表達式
from 左表l[left|inner] join 右表r on 連接條件
where 篩選條件1 and 篩選條件2
group by 分組的字段
having 過濾條件
order by 排序的字段
limit 限制數量;
但是它的執行順序卻不是按照這個順序執行的。在執行SQL語句時,其順序是固定的,遵循一定的邏輯流程。
SQL語句的一般執行順序:
?1、FROM子句?:首先,數據庫會確定從哪個表或哪些表中檢索數據。如果有多個表,還會處理表之間的連接(JOIN)。
?2、WHERE子句?:接下來,對獲取的數據進行篩選,只有滿足條件的記錄才會被包含在結果集中。
?3、GROUP BY子句?:如果查詢中包含了GROUP BY子句,數據庫會根據指定的列對結果集進行分組。
?4、HAVING子句?:在分組后,HAVING子句可以用來進一步過濾,只有滿足HAVING條件的分組才會被包含在結果集中。通常包含聚合函數。
?5、SELECT子句?:然后,數據庫會處理SELECT子句,從中選擇需要顯示的列。這個階段也會處理列的計算和別名(AS)。
?6、DISTINCT子句?:如果SELECT子句后跟著DISTINCT關鍵字,數據庫會去除結果集中的重復行。
?7、ORDER BY子句?:數據庫會根據ORDER BY子句中的列對結果集進行排序。
8、LIMIT子句:限制返回的記錄數。
越努力,越幸運!
轉載請注明出處,商用需征得作者同意,謝謝!

浙公網安備 33010602011771號