Mysql 的 SQL 语句执行顺序

本文详细阐述了SQL查询语句的执行顺序,从FROM、WHERE到GROUP BY、HAVING、SELECT、DISTINCT等步骤,强调了WHERE与GROUP BY的使用限制,并指出MySQL中的特殊情况。了解这一顺序对于优化SQL性能和避免错误至关重要。
摘要由CSDN通过智能技术生成

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 对其进行了扩充,其他数据库不支持
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值