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