SQL语句的执行顺序

并不是从前向后的,而是有顺序的:

而且每个步骤的输出结果都做为下一个步骤的输入。

(1)from
读取数据库生成笛卡尔积,生成虚拟表,选择相对小的表做基础表。
(2) on
接下来便是应用on筛选器,on 中的逻辑表达式将应用到 虚拟表 中的各个行,筛选出满足on逻辑表达式的行,生成虚拟表2
(3) join
左右联结,将添加外部行。
(4) where
用where后的条件筛选,结果作为下一步的输入。
(5)group by(开始使用select中的别名,后面的语句中都可以使用)
子句将中的唯一的值组合成为一组,得到新的虚拟表
(6) avg,sum…
(7)having
having筛选器是第一个也是为唯一一个应用到已分组数据的筛选器
(8) select
出现的列筛选出来。
(9) distinct
移除相同的行
(10) order by
最后,在这一步中是第一个也是唯一一个可以使用select列表中别名的步骤。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值