having 和where 都是用來篩選用的
having 是篩選組 而where是篩選記錄
他們有各自的區別
1》當分組篩選的時候 用having
2》其它情況用where
-----------------------------------------------------
用having就一定要和group by連用,
用group by不一有having (它只是一個篩選條件用的)
-------------------------------------------------------
例子
表結構
部門編號 姓名 工資
1 tom 2000
2 mike 1200
1 john2100
2 dave 1800
1 robin 2100
3 lucy 8000
2 andy 2200
3 juliet 4500
查詢有多個員工的工資不低於2000的部門編號
(就是說如果一個部門的員工大於2000的人數有兩個或兩個以上就查詢出來)
select 部門編號,count(*) from 員工信息表
where 工資>=2000
group by 部門編號
having count(*)>1
where 針對每一條記錄篩選
而 having 對同一個部門的分組
count(*)>1 計算多於兩個的部門
查詢結果爲
1 3
3 2
數據庫having和where的區別
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
常見的四種非關係型數據庫都適合什麼業務場景?
追夢沙哈拉
2020-05-07 15:28:42
SQL經典練習題48道之七(41-48)
feri
2020-02-20 15:32:24
剖析關係型數據庫和NOSQL的本質,並沒有孰優孰劣。
一路北上!
2019-08-22 23:42:40
oracle 10G 安裝筆記
tszyztc110
2018-09-13 03:04:07
sqlplus和isqlplus的使用方法
tszyztc110
2018-09-13 02:18:10
MySQL5.7密碼字段變更
feri
2018-08-30 02:00:35
MySQL連表操作和GROUP_CONCAT函數的使用
OxRoot
2018-08-23 17:14:18