程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> 子查詢二(在HAVING子句中使用子查詢),having子句

子查詢二(在HAVING子句中使用子查詢),having子句

編輯:Oracle教程

子查詢二(在HAVING子句中使用子查詢),having子句


HAVING子句的主要功能是對分組後的數據進行過濾,如果子查詢在HAVING中表示要進行分組過濾,一般返回單行單列的數據

示例一、查詢部門編號,人數,平均工資,並且要求這些部門的平均工資高於公司的平均工資

 --查詢部門編號,人數,平均工資,並且要求這些部門的平均工資高於公司的平均工資
 SELECT e.deptno,COUNT(e.empno),ROUND(AVG(e.sal),2)
 FROM emp e
 GROUP BY e.deptno
 HAVING AVG(e.sal)>(
        SELECT AVG(sal)
        FROM emp
 );
 

示例二、查詢出部門平均工資高的部門名稱和平均工資

 --查詢出部門平均工資高的部門名稱和平均工資
SELECT d.deptno,d.dname,AVG(e.sal) avgsal
FROM emp e,dept d
WHERE e.deptno=d.deptno
GROUP BY d.deptno,d.dname
HAVING AVG(e.sal)=(
    SELECT MAX(AVG(sal))
     FROM emp
     GROUP BY deptno
);

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved