码迷,mamicode.com
首页 > 其他好文 > 详细

子查询二(在HAVING子句中使用子查询)

时间:2015-01-16 01:05:23      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:

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
);

 

子查询二(在HAVING子句中使用子查询)

标签:

原文地址:http://www.cnblogs.com/liunanjava/p/4227576.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!