大家好,又见面了,我是你们的朋友全栈君。
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,因此编译出错。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/125978.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...