子查询二(在HAVING子句中使用子查询)
2015-01-16 00:39
225 查看
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 );
相关文章推荐
- 查询之order by,group by和having的使用
- 当WHERE子句、GROUP BY子句和HAVING子句同时出现在一个查询中时,SQL的执行顺序
- mongodb_查询操作使用_条件查询、where子句等
- having子句中包含子查询(重点)
- 7、使用WHERE子句查询表中满足条件的记录
- 在ASP中使用SQL语句之2:用WHERE子句设置查询条件
- sql的sum函数(与group by,having子句混合使用)
- Oracle “CONNECT BY” 使用Oracle “CONNECT BY”是层次查询子句,一般用于树状或者层次结果集的查询。其语法是:
- T-SQL查询笔记1:当使用联接时on和where子句的区别
- UPDATE一张表,同时在查询子句中使用SELECT问题
- ORDER BY 子句在子查询和公用表表达式中无效的一种解决办法--使用表变量
- 构造使用IN子句的动态Transact-SQL方法进行编号查询
- 构造使用IN子句的动态Transact-SQL方法进行编号查询
- 查询之order by,group by和having的使用
- group by 及 having 子句使用
- SELECT 语句中Having子句的使用
- 在Mysql中使用in子句查询和排序
- mysql 使用查询子句插入数据
- Oracle Having子句中使用子查询
- sql的sum函数(与group by,having子句混合使用)