Oracle中的having()函數


having函數用在group by子句的后面,對分組結果集進行條件篩選。
1、having子句包含聚合函數
/*列出平均工資在1000之上,並且最低工資不低於800的工作信息*/
select
job,avg(sal),min(sal) from emp
group by job
having avg(sal)>1000 and min(sal)>=800--avg(),min()為聚合函數
2、where子句用在分組之前篩選數據;having子句分組之后使用,對分組結果集進一步篩選
/*列出不是銷售員最低薪資大於1500的各種工作的信息*/
select job,min(sal) from emp
where job<>'SALESMAN'
group by job
having min(sal)>1500

3、having子句可以使用別名

/*顯示非銷售人員工作名稱以及從事同一工作雇員的月工資的總和,並且要滿足從事同一工作的雇員的月工資合計大於$5000,輸出結果按月工資的合計升序排列*/
SELECT
job,SUM(sal) S_U_M FROM emp WHERE job<>'SALESMAN' GROUP BY job
HAVING S_U_M>5000--S_U_M為SUM(sal)的別名 ORDER BY S_U_M

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM