当前位置: 代码迷 >> 综合 >> mysql的那些事
  详细解决方案

mysql的那些事

热度:29   发布时间:2023-10-23 13:15:24.0

mysql的select查询语句的执行顺序

mysql执行sql的顺序从 From 开始,以下是执行的顺序流程

  • FROM  table1 left join table2 on 将table1和table2中的数据产生笛卡尔积,生成Temp1
  • JOIN table2  所以先是确定表,再确定关联条件
  • ON table1.column = table2.columu 确定表的绑定条件 由Temp1产生中间表Temp2
  • WHERE  对中间表Temp2产生的结果进行过滤  产生中间表Temp3
  • GROUP BY 对中间表Temp3进行分组,产生中间表Temp4
  • HAVING  对分组后的记录进行聚合 产生中间表Temp5
  • SELECT  对中间表Temp5进行列筛选,产生中间表 Temp6
  • DISTINCT 对中间表 Temp6进行去重,产生中间表 Temp7
  • ORDER BY 对Temp7中的数据进行排序,产生中间表Temp8
  • LIMIT 对中间表Temp8进行分页,产生中间表Temp9

总结:总的来说查询就是先拼接表(form-join),再筛选条件(where-group by -having),最后从生成的结果集中选择查询的字段(select)、去重(distinct)、排序?

  相关解决方案