数据库--SQL关键字的执行顺序

一条sql语句通常包括:

select from join where group by having order by 聚合函数 limit top

浅谈执行顺序:

1)、首先确定一点,并不是按照我们写的语句顺序,从左--->右执行的

2)、获取结果集 ----> 指定查询的某些字段 --> 按照某些内容进行排序

首先 执行from ,join 确定表之间的关系,得到初步的----->结果集1

where 对结果集1 进行筛选 得到-->结果集2

group by 进行分组 -->结果集3

对结果集3进行having筛选,得到 ---->结果集 4

指定查询的字段:

select 指定需要查询的字段,也可以是聚合函数 --->结果去重

合并分组结果集,并按照order by 的 条件进行排序

如果存在limit 或者top之类的话,这是在最后才会执行的

小结:

第一句话: 从这个顺序中我们可以发现,所有的查询语句都是从 FROM开始执行的。

**第二句话:**在实际执行过程中,每个步骤都会为下一个步骤生成一个虚拟表,这个虚拟表将作为下一个执行步骤的输入。

看到这了,点个赞再走吧!

相关推荐
小羽网安1 小时前
从零开始学习 sql 注入,常见的 sql 注入解析
数据库·sql·学习
2401_846339562 小时前
CSS如何优化大型项目样式_使用SASS预处理器提升开发效率
jvm·数据库·python
ss2738 小时前
食谱推荐系统功能测试如何写?
java·数据库·spring boot·功能测试
l1t9 小时前
DeepSeek总结的数据库外部表
数据库
m0_674294649 小时前
如何编写SQL存储过程性能对比_记录执行时间评估优化效果
jvm·数据库·python
014-code9 小时前
CompletableFuture 实战模板(超时、组合、异常链处理)
java·数据库
运气好好的9 小时前
怎样开启phpMyAdmin的操作审计日志_记录每条执行的SQL
jvm·数据库·python
それども10 小时前
DELETE 和 TRUNCATE TABLE区别
java·数据库·mysql
wenha10 小时前
数据库隔离级别
数据库·mysql·sqlserver·隔离级别
2401_8714928510 小时前
Layui如何修改Layui默认的UI主题颜色(换肤功能实现)
jvm·数据库·python