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书写顺序和执行顺序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解
- 2024-12-07MySQL分库分表入门指南
- 2024-12-07MySQL慢查询入门:快速掌握性能优化技巧
- 2024-12-07MySQL入门:新手必读的简单教程
- 2024-12-07MySQL入门:从零开始学习MySQL数据库
- 2024-12-07MySQL索引入门:新手快速掌握MySQL索引技巧
- 2024-12-06BinLog学习:MySQL数据库BinLog入门教程
- 2024-12-06Binlog学习:MySQL数据库的日志管理入门教程