@TOCd5.Mysql进阶知识
进阶知识2
MYSQL 的执行顺序
mysql执行sql的顺序从 From 开始,以下是执行的顺序流程
FROM table1 left join table2 on
将table1
和table2
中的数据产生笛卡尔积,生成Temp1
表JOIN table2
所以先是确定表,再确定关联条件ON table1.column = table2.column
确定表的绑定条件 由Temp1
产生中间表Temp2
WHERE
对中间表Temp2
产生的结果进行过滤 产生中间表Temp3
GROUP BY
对中间表Temp3
进行分组,产生中间表Temp4
HAVING
对分组后的记录进行聚合 产生中间表Temp5
SELECT
对中间表Temp5
进行列筛选,产生中间表Temp6
DISTINCT
对中间表Temp6
进行去重,产生中间表Temp7
ORDER BY
对Temp7
中的数据进行排序,产生中间表Temp8
LIMIT
对中间表Temp8
进行分页,产生中间表Temp9