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

子查询四(在select子句中使用子查询)

时间:2015-01-18 02:02:35      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

示例一、查询出每个部门的编号,名称,位置,部门人数,平均工资

SELECT d.deptno,d.dname,d.loc,
  (SELECT  COUNT(empno) FROM emp WHERE emp.deptno=d.deptno GROUP BY deptno) con,
  (SELECT AVG(sal) FROM emp WHERE emp.deptno=d.deptno GROUP BY deptno) avgsal
FROM dept d

WITH 子句

示例二、使用with子句将emp表中的数据定义为临时表

WITH e AS(
SELECT * FROM emp)
SELECT * FROM e;

示例三、查询每个部门的编号,名称,位置,部门平均工资,人数

--查询每个部门的编号,名称,位置,部门平均工资,人数
WITH e AS(
  SELECT deptno dno,ROUND(AVG(sal),2) avgsal,COUNT(empno) con
  FROM emp
  GROUP BY deptno
)
SELECT d.deptno,d.dname,d.loc,e.avgsal,e.con
FROM dept d,e
WHERE d.deptno=e.dno(+);

示例四、查询每个部门工资最高的员工编号,姓名,职位,入职日期,工资,部门编号,部门名称,显示结果按部门编号进行排序

WITH e AS(
   SELECT deptno dno,MAX(sal) maxsal
   FROM emp
   GROUP BY deptno
)
SELECT em.ename,em.job,em.hiredate,em.sal,d.deptno,d.dname
FROM emp em,dept d,e
WHERE em.deptno=e.dno
       AND em.sal=e.maxsal
       AND d.deptno=e.dno
       ORDER BY em.deptno;

 

子查询四(在select子句中使用子查询)

标签:

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

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