MySQL执行顺序

16 篇文章 1 订阅

mysql执行顺序如下:

1. from 阶段

2. where 阶段

3. group by 阶段

4. having 阶段

5. select 阶段

6. order by 阶段

7. limit 阶段

 

问题: 为什么别名不可以使用在where中,但可以使用在order by中?

根据mysql的执行顺序,可以知道,上述代码先执行了from score ,再执行了where , 最后执行了select  。 别名产生在第五个查询阶段,别名有了之后,后面的执行阶段才能使用,也就是说,别名只能是第五阶段之后的查询才能使用。因此where total >= 200执行时,还未产生别名total,因此编译出错。

  • 7
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值