zoukankan      html  css  js  c++  java
  • Oracle 经典语法(四)

    1. 各个部门平均、最大、最小工资、人数,按照部门号升序排列。
    SELECT deptno AS 部门号,AVG(sal) AS 平均工资 ,MAX(sal) AS 最高工资,MIN(sal)  AS 最低工资 ,COUNT(*) AS 人数 FROM emp GROUP BY deptno   ORDER BY deptno ASC;

    2. 各个部门中工资大于5000的员工人数。
    SELECT deptno,COUNT(*) FROM emp WHERE sal > 5000  GROUP BY deptno;

    3. 各个部门平均工资和人数,按照部门名字升序排列。
    SELECT DNAME,AVG(SAL),COUNT(*) FROM (SELECT (SELECT DEPT.DNAME FROM DEPT WHERE DEPT.DEPTNO = EMP.DEPTNO) DNAME,EMP.SAL FROM  EMP) GROUP BY DNAME  ORDER BY DNAME;
     
    4. 列出每个部门中有同样工资的员工的统计信息,列出他们的部门号,工资,人数。
     SELECT EMP1.DEPTNO,EMP1.SAL,COUNT(*)   FROM   EMP EMP1,EMP EMP2
       WHERE  EMP1.DEPTNO = EMP2.DEPTNO
       AND  EMP1.SAL = EMP2.SAL
       AND EMP1.EMPNO <> EMP2.EMPNO
       GROUP BY EMP1.DEPTNO,EMP1.SAL;

    5. 列出同部门中工资高于1000 的员工数量超过2 人的部门,显示部门名字、地区名称。
    SELECT
    D.DNAME,D.LOC,COUNT(*)
         FROM EMP E,DEPT D
         WHERE E.DEPTNO = D.DEPTNO AND
                E.SAL > 1000
         GROUP BY D.DNAME,D.LOC
         HAVING COUNT(*) > 2;

    6. 哪些员工的工资,高于整个公司的平均工资,列出员工的名字和工资(降序)。
    SELECT ENAME,SAL
         FROM EMP
         WHERE SAL> (
               SELECT AVG(SAL)
               FROM EMP
               )
         ORDER BY SAL DESC;

    7. 哪些员工的工资,介于10号 和30号部门平均工资之间。
    SELECT ENAME,SAL
         FROM EMP
         WHERE SAL
         BETWEEN
             (SELECT AVG(SAL) FROM EMP
             WHERE DEPTNO = 10)
         AND (SELECT AVG(SAL) FROM EMP
             WHERE DEPTNO = 80);
             SELECT * FROM EMP

    8. 所在部门平均工资高于5000 的员工名字。
     SELECT  ENAME,SAL
         FROM EMP
         WHERE DEPTNO IN
                (SELECT DEPTNO FROM EMP
                 GROUP BY DEPTNO
                 HAVING AVG(SAL) > 5000);

    9. 列出各个部门中工资最高的员工的信息:名字、部门号、工资。
     SELECT ENAME
                 ,SAL ,DEPTNO
          FROM EMP
          WHERE (DEPTNO,SAL ) IN
                (SELECT DEPTNO,MAX(SAL)
                 FROM EMP
                 GROUP BY DEPTNO);


    10. 最高的部门平均工资是多少。
    SELECT MAX(AVGSALARY)
         FROM(SELECT DEPTNO,AVG(SAL) AVGSALARY
           FROM EMP
            GROUP BY DEPTNO);

  • 相关阅读:
    MongoDB笔记
    mysql笔记
    08-下载中间件
    ubuntu1804安装pycharm2018.3.x
    02-CSS基础
    14-eval 函数
    13-文件
    12-模块和包
    11-异常
    有关dir和 unittest
  • 原文地址:https://www.cnblogs.com/lu-lin/p/3757473.html
Copyright © 2011-2022 走看看