亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

mysql中的where和having子句的區別

mysql中的where和having子句的區別

ABOUTYOU 2019-04-09 10:04:28
mysql中的where和having子句的區別
查看完整描述

3 回答

?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

在mysql中,where可用于所有的條件語句,而having僅能用于分組后篩選。

舉例:

test表中有如下數據:

where的使用:

如查詢每個部門sal大于等于1500的所有sal的總和:

select deptno,sum(sal) from test where sal>=1500 group by deptno;

查詢結果:


having的使用:

如查詢sal總和大于5000的deptno:

select deptno from test group by deptno having sum(sal)>5000;

查詢結果:




查看完整回答
反對 回復 2019-04-10
?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

WHERE是對分組前記錄的條件,如果某行記錄沒有滿足WHERE子句的條件,那么這行記錄不會參加分組;而HAVING是對分組后數據的約束。、

舉例:

?查詢每個部門的部門編號以及每個部門工資大于1500的人數:

SELECT deptno,COUNT(*)

FROM emp

WHERE sal>1500

GROUP BY deptno;

HAVING子句

?查詢工資總和大于9000的部門編號以及工資和:

SELECT deptno, SUM(sal)

FROM emp

GROUP BY deptno

HAVING SUM(sal) > 9000;




查看完整回答
反對 回復 2019-04-10
?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

SELECT 列名稱 FROM 表名稱 WHERE 列 BY 值

在 SQL 中增加 HAVING 子句原因是,WHERE 關鍵字無法與合計函數一起使用。
SELECT 合計函數 FROM 表名稱 WHERE 列 BY HAVING 合計函數

查看完整回答
反對 回復 2019-04-10
  • 3 回答
  • 0 關注
  • 614 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號