mysql书写顺序和执行顺序

2021/10/27 19:40:09

本文主要是介绍mysql书写顺序和执行顺序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

书写顺序:

SELECT →FROM → JOIN → ON → WHERE → GROUP BY → HAVING → ORDER BY→ LIMIT

 

执行顺序:

FROM → ON → JOIN → WHERE → GROUP BY → HAVING → SELECT →DISTINCT → ORDER BY→ LIMIT

执行顺序:
1.from 加载from关键词后的表,计算笛卡尔积,生成虚拟表vt1
2.筛选关联表中满足on表达式的数据,保留主表数据,生成虚拟表vt2
join表示要关联的表,on代表连接条件
3.外连接,执行on会将主表中不符合on条件的数据也加载进来作为外部行
4.from子句涉及多张表,则重复1-3,直至所有的表都加载完毕,更新虚拟表vt3
5.执行where表达式,筛选数据生成表达式vt5
6.执行group by子句分组,分组会把子句组合成唯一值,且每个唯一值只包含一行,生成虚拟表vt5
这一步开始才可以使用select中的别名,它返回的是一个游标,而不是一张表,
在where中不可以使用select中的别名,而having却可以。
7.执行聚合函数,生成虚拟表vt6
8.执行having,筛选数据并生成vt7
9.执行select,筛选vt7数据并生成vt8
10.执行distinct,去重vt8并生成vt9
11.order by 排序vt9 耗费资源
12执行limit并返回



这篇关于mysql书写顺序和执行顺序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程