SQL语句的执行顺序(学习笔记)

问题在于重命名在哪生效,最经典的是select重命名列名之后,wheregroup by中不能写新名字,要写老名字做筛选,这是执行顺序决定的。只有order by中可以用。
sql语句:

select distinct
    查询列表(要查的字段)
from
    左边的表们s
连接类型(left|inner) join 
    右边的表们s
on 
    连接条件
where
    筛选条件
group by
    分组的列表(按什么字段分组)
having
    having_condition
order by
    排序的字段
limit
    limit number;

执行顺序:

1 from 左边的表们s:从左边的表开始选择数据
2 连接类型(left|inner) join 右边的表们s on 连接条件:按照连接条件和右边的表进行连接,形成结果集
3 where 筛选条件:在形成的结果集中根据筛选条件过滤数据
4 group by 分组列表(按什么字段分组):在过滤后的数据集中根据分组字段进行分组
5 having having_condition:对分组后的数据集应用条件进行过滤
6 select:选择结果集中需要的列,计算结果
7 distinct 查询列表(要查询的字段):对结果集去除重复行
8 order by 排序的字段:对结果集进行排序
9 limit limit_number:对结果集进行限制行数

详细参考:SQL语句执行顺序【全】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值