从mysql 查询模型解释 as 在 where中为什么不生效

问题   as 别名   where 别名为什么提示 别名不存在?

先看语句       

select goods_id,goods_name,(market_price-shop_price) as k from goods where k>0; 

解释:查询模型决定的


mysql 查询模型   先去匹配  where 也就是 where后面的变量寻址 然后再来 筛选后面的显示 行,由于先去匹配别名所以别名找不到.但是这样就说别名没用了 ,不可能

having 可以用啊!!!!!! 

having是后筛选的,先查出结果,然后having执行进一步筛选

select goods_id,goods_name,(market_price-shop_price) as k from goods having k>0; 

这样就可以了!!!

版权声明:
作者:超级管理员
链接: https://blog.apecloud.ltd/article/detail.html?id=44
来源:猿码云个人技术站
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
/static/admin/img/weixin.jpg/static/admin/img/zfb.jpg
<<上一篇>
php 面向对象 接口和抽象类
下一篇>>