mysql執行順序
mysql執行sql的順序從 From 開始,以下是執行的順序流程
開始->FROM子句->WHERE子句->GROUP BY子句->HAVING子句->ORDER BY子句->SELECT子句->LIMIT子句->最終結果
1、FROM table1 left join table2 on 將table1和table2中的數據產生笛卡爾積,生成Temp1
2、JOIN table2 所以先是確定表,再確定關聯條件
3、ON table1.column = table2.columu 確定表的綁定條件 由Temp1產生中間表Temp2
4、WHERE 對中間表Temp2產生的結果進行過濾 產生中間表Temp3
5、GROUP BY 對中間表Temp3進行分組,產生中間表Temp4
6、HAVING 對分組後的記錄進行聚合 產生中間表Temp5
7、SELECT 對中間表Temp5進行列篩選,產生中間表 Temp6
8、DISTINCT 對中間表 Temp6進行去重,產生中間表 Temp7
9、ORDER BY 對Temp7中的數據進行排序,產生中間表Temp8
10、LIMIT 對中間表Temp8進行分頁,產生中間表Temp9