where和having的區別小結
1、where和having都是用來篩選的
2、where是對分組前的結果進行條件過濾,而having是對分組後的結果進行過濾。
3、當分組刪選的時候,用having
4、其他用where
注:用having就一定要和group by 連用,而且group by在having的前面
而且having可以跟聚合函式,而where則不能
eg:
要求顯示平均工資大於2000的部門編號和平均工資
Select deptno,avg(sal) from emp where avg(sal)>2000 group by deptno;
出現錯誤,where語句中不允許使用分組函式,使用having解決
Select deptno,avg(sal) from emp group by deptno having avg(sal)>2000;
2、where是對分組前的結果進行條件過濾,而having是對分組後的結果進行過濾。
3、當分組刪選的時候,用having
4、其他用where
注:用having就一定要和group by 連用,而且group by在having的前面
而且having可以跟聚合函式,而where則不能
eg:
要求顯示平均工資大於2000的部門編號和平均工資
Select deptno,avg(sal) from emp where avg(sal)>2000 group by deptno;
出現錯誤,where語句中不允許使用分組函式,使用having解決
Select deptno,avg(sal) from emp group by deptno having avg(sal)>2000;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29618264/viewspace-1415538/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL之Where和Having的區別MySql
- SQL 中having 和where的區別SQL
- oracle之group by,having和where的區別Oracle
- mysql的having和where有什麼區別MySql
- SQL中Having與Where的區別SQL
- SQL中 where 子句和having子句中的區別SQL
- having和where
- 資料庫中where與having的區別資料庫
- SQL中where和on的區別SQL
- MyBatis中的<where>標籤和where子句的區別MyBatis
- SQL分組中WHERE和HAVING的異同SQL
- Mybatis中#{}和${}傳參的區別及#和$的區別小結MyBatis
- Oracle中sys和system的區別小結Oracle
- Mysql-left join on後接and,和where的區別MySql
- truncate和不帶where子句的delete, 以及drop區別delete
- 深入Oracle的left join中on和where的區別詳解Oracle
- whereRaw 與 where (\DB::raw ()) 的區別
- 【SQL】Oracle SQL join on語句and和where使用區別SQLOracle
- 多執行緒和多程式的區別(小結)執行緒
- SQL join中on與where區別SQL
- php中$_REQUEST、$_POST、$_GET的區別和聯絡小結PHP
- left join,right join,inner join的條件on和where的區別
- ClickHouse原始碼筆記4:FilterBlockInputStream, 探尋where,having的實現原始碼筆記FilterBloC
- SQL JOIN 中 on 與 where 有何區別SQL
- 小程式和 Vue 的區別 [入門]Vue
- Oracle 和 SQL Server 個別小區別OracleSQLServer
- require 和 include 區別小記UI
- “軟連結”和“硬連結”的區別
- 硬連結和軟連結的區別
- SQL中on條件與where條件的區別[轉]SQL
- git與svn的區別-小結一下Git
- Vue和微信小程式的區別、比較Vue微信小程式
- [學習筆記]分組資料以及on/where/having的順序問題筆記
- cookie和session的區別(全面總結)CookieSession
- js中==和===的區別以及總結JS
- (轉)編譯和連結的區別編譯
- 陣列和連結串列的區別陣列
- oracle資料庫--Oracle雙引號和單引號的區別小結Oracle資料庫