zoukankan      html  css  js  c++  java
  • oracle 分组查询 子查询 统计查询 FROM加子查询临时表 查询高于平均工资 示例代码

    ---求平均工资
    SELECT AVG(sal) FROM emp;
    -----------大于平均工资
    SELECT e.ename,e.job,e.sal
    FROM emp e
    WHERE e.sal>(SELECT AVG(sal) FROM emp)
    
    --------
    --e领导编号=m雇员编号
    --emp雇员表,dept部门表
    SELECT 
    e.ename 雇员姓名,e.job 雇员职位,e.sal 雇员工资,
    m.ename 领导姓名,m.job 领导职位,
    d.dname 部门名称
    FROM emp e,emp m,dept d
    WHERE e.sal>(
    SELECT AVG(sal) FROM emp)
    AND e.mgr=m.empno(+)
    AND e.deptno=d.deptno
    
    -----------加FROM子查询语句,统计人数
    
    SELECT 
    e.ename 雇员姓名,e.job 雇员职位,e.sal 雇员工资,
    m.ename 领导姓名,m.job 领导职位,
    d.dname 部门名称,dtemp.count 部门人数
    FROM emp e,emp m,dept d,(
    SELECT deptno dno,COUNT(empno) count
    FROM emp
    GROUP BY deptno) dtemp
    WHERE e.sal>(
    SELECT AVG(sal) FROM emp)
    AND e.mgr=m.empno(+)
    AND e.deptno=d.deptno
    AND dtemp.dno(+)=d.deptno
    
    ----加个工资表。工资等级
    
    SELECT 
    e.ename 雇员姓名,e.job 雇员职位,e.sal 雇员工资,
    m.ename 领导姓名,m.job 领导职位,
    d.dname 部门名称,dtemp.count 部门人数,
    s.grade 工资等级
    FROM emp e,emp m,dept d,(
    SELECT deptno dno,COUNT(empno) count
    FROM emp
    GROUP BY deptno) dtemp,salgrade s
    WHERE e.sal>(
    SELECT AVG(sal) FROM emp)
    AND e.mgr=m.empno(+)
    AND e.deptno=d.deptno
    AND dtemp.dno(+)=d.deptno
    AND e.sal BETWEEN s.losal AND s.hisal
    
    --61m-----使用此工资等级的人数
    SELECT s1.grade sg,COUNT(e1.empno) count
    FROM emp e1,salgrade s1
    WHERE e1.sal BETWEEN s1.losal AND s1.hisal
    GROUP BY s1.grade
    
    --第七部--嵌入工资等级的人数,以s1.grade为分组
    ----
    SELECT s1.grade sg,COUNT(e1.empno) count
    FROM emp e1,salgrade s1
    WHERE e1.sal BETWEEN s1.losal AND s1.hisal
    GROUP BY s1.grade;
    
    ----完成体
    SELECT 
    e.ename 雇员姓名,e.job 雇员职位,e.sal 雇员工资,
    m.ename 领导姓名,m.job 领导职位,
    d.dname 部门名称,dtemp.count 部门人数,
    s.grade 工资等级,stemp.count 等级人数
    --m领导,
    FROM emp e,emp m,dept d,(
    SELECT deptno dno,COUNT(empno) count
    FROM emp
    GROUP BY deptno) dtemp,
    --dtemp 部门人数
    salgrade s,(
    SELECT s1.grade sg,COUNT(e1.empno) count
    FROM emp e1,salgrade s1
    WHERE e1.sal BETWEEN s1.losal AND s1.hisal
    GROUP BY s1.grade
    ) stemp
    --stemp 工资等级人数
    WHERE e.sal>(
    SELECT AVG(sal) FROM emp)
    AND e.mgr=m.empno(+)
    AND e.deptno=d.deptno
    AND dtemp.dno(+)=d.deptno
    AND e.sal BETWEEN s.losal AND s.hisal
    AND s.grade=stemp.sg;
    
     
    
     
  • 相关阅读:
    【转】centos7升级git版本
    小程序购物车抛物线动画(通用)
    IDEA高级操作
    JAVA获取各种路径
    这些SpringBoot天生自带Buff工具类你都用过哪些?
    搜狗输入法简繁问题
    Java8 Stream流递归,几行代码搞定遍历树形结构
    SpringBoot 启动时实现自动执行代码的几种方式讲解
    公司用的 MySQL 团队开发规范,非常详细,建议收藏!
    Springboot整合websocket全面解析
  • 原文地址:https://www.cnblogs.com/blacop/p/5926678.html
Copyright © 2011-2022 走看看