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;
    
     
    
     
  • 相关阅读:
    Dispatcher及线程操作
    MVVM中轻松实现Command绑定(三)任意事件的Command
    MVVM Light中的Message
    Prism
    Prism的IEventAggregator事件聚合器, 事件订阅发布, ViewModel之间的通讯
    文件写操作--WriteLog
    【Golang】Debug :decoding dwarf section info at offset 0x0: too short
    【Golang 接口自动化03】 解析接口返回XML
    【Golang 接口自动化02】使用标准库net/http发送Post请求
    【Golang 接口自动化01】使用标准库net/http发送Get请求
  • 原文地址:https://www.cnblogs.com/blacop/p/5926678.html
Copyright © 2011-2022 走看看