Mysql 的 SQL 语句执行顺序

select 语句定义:

<SELECT clause> 
	[<FROM clause>] 
	[<WHERE clause>] 
	[<GROUP BY clause>] 
	[<HAVING clause>] 
	[<ORDER BY clause>] 
	[<LIMIT clause>] 

select 语句的执行顺序

  1. from
  2. join
  3. on
  4. where
  5. group by (可以使用 select 中的别名,后面的语句中都可以使用)
  6. count、sum、svg…
  7. having
  8. select
  9. distinct
  10. order by
  11. limit

1、确定范围:确定查询数据范围(1->2->3)
2、数据处理:过滤不符合的数据,对需要的数据进行分组统计,过滤不符合的统计结果(4->5->6->7)
3、返回结果:确定返回的列,去重,确定返回条数(8->9->10->11)

特别注意:

1、where 语句和 group by 语句后面不可以使用聚合函数(count、sum、svg…)
2、mysql 中 group by 语句及其之后的语句可以使用 select 中的别名

  • 根据 sql 语句执行顺序,group by 在 select 之前执行,所以 group by 是无法使用 select 后面的别名的
  • mysql 中 group by 之所以能使用 select 后面的别名是因为 mysql 对其进行了扩充,其他数据库不支持

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页
评论

打赏作者

填坑在路上

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值