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;
  • 相关阅读:
    CSS3中的3D效果
    JavaScript判断数据类型方法?
    JS函数中的arguments是什么?
    Vue组件之间通信的几种方式
    Vue插槽详解
    CSS文本溢出效果&滚动条样式设置
    Fibonacci数列计算的三种方法
    堆内存和栈内存详解[转]
    带头结点的单链表反转
    汉诺塔问题
  • 原文地址:https://www.cnblogs.com/liunanjava/p/4231373.html
Copyright © 2011-2022 走看看