zoukankan      html  css  js  c++  java
  • 子查询四(在select子句中使用子查询)

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

    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;
    复制代码
  • 相关阅读:
    hdu-3001 三进制状态压缩+dp
    最长公共子序列(LCS)
    矩阵最优路线DP
    CF-721C DAG图拓扑排序+费用DP
    拓扑排序
    BFS+二进制状态压缩 hdu-1429
    DAG最长路问题 hdu-1224
    并查集-解决区间和纠错问题 hdu-3038
    hdu 4972 根据每轮篮球赛分差求结果
    hdu 1116 欧拉回路+并查集
  • 原文地址:https://www.cnblogs.com/Soprano/p/10659109.html
Copyright © 2011-2022 走看看