having 和 where的区别


区别1

where是从数据表中的字段直接进行的筛选的。

having是从 前面筛选的字段再筛选

eg:  select goods_price,goods_name from goods having  goods_price > 100

                     等价于  

       select goods_price,goods_name from goods where goods_price > 100

 

select goods_name,goods_number from goods having  goods_price > 100   

// 报错!!!因为前面并没有筛选出 goods_price 字段

 

区别2

having子句中可以使用字段别名,而where不能使用

 

区别3

having能够使用统计函数,先分组,再判断(having),但是where不能使用


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM