zoukankan      html  css  js  c++  java
  • ORACLE查询练习

    emp员工表(empno 员工号   /ename 员工姓名   /job 工作   /mgr上级编号   /hiredate受雇日期   /sal薪金   /comm佣金   /deptno部门编号)

    dept部门表(deptno部门编号  /dname部门名称   /loc地点)

    工资=薪金+佣金

     

    1.列出至少有一个员工的所有部门。

    2.列出薪金比“SMITH”多的所有员工。

    3.列出所有员工的姓名及其直接上级的姓名。

     

    4.列出受雇日期早于其直接上级的所有员工。

    5.列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门

    6.列出所有“CLERK”(办事员)的姓名及其部门名称。

     

    7.列出最低薪金大于1500的各种工作。

    8.列出在部门“SALES”(销售部)工作的员工的姓名,假定不知道销售部的部门编号。

    9.列出薪金高于公司平均薪金的所有员工。

     

     

    10.列出与“SCOTT”从事相同工作的所有员工。

    11.列出薪金等于部门30中员工的薪金的所有员工的姓名和薪金。

    12.列出薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金。

     

    13.列出在每个部门工作的员工数量、平均工资和平均服务期限。

    14.列出所有员工的姓名、部门名称和工资。

    15.列出所有部门的详细信息和部门人数。

     

    16.列出各种工作的最低工资。

    17.列出各个部门的MANAGER(经理)的最低薪金。

    18.列出所有员工的年工资,按年薪从低到高排序。

     

    --------1----------

    select dname from dept

     where deptno in(select deptno from emp);

    -------2----------

    select* from emp

    where sal>(select sal from emp where ename='SMITH');

    --------3----------

    select a.ename,(select ename from emp b where b.empno=a.mgr)as bossname from emp a;

    --------4----------
    selecta.ename from emp a where a.hiredate<(select hiredate from emp b where b.empno=a.mgr);

    --------5----------
    selecta.dname,b.empno,b.ename,b.job,b.mgr,b.hiredate,b.sal,b.comm,b.deptno from dept a left join emp b on a.deptno=b.deptno;

    --------6----------
    select a.ename,b.dname from emp a join dept b on a.deptno=b.deptno and a.job='CLERK';

    --------7----------
    select distinct job as HighSalJob from emp group by job having min(sal)>1500;
    --------8----------
    select e.name from emp where deptno=(select deptno from dept where dname='SALES');

    --------9----------
    select ename from emp where sal>(select avg(sal)from emp);


    --------10---------
    select ename from emp where job=(select job from emp where ename='SCOTT');

    --------11---------
    select a.ename,a.sal from emp a where a.sal in( selectb.sal from emp b where b.deptno=30)and a.deptno<>30;

    --------12---------
    select ename,sal from emp where sal>(
    select max(sal) from emp where deptno=30);

    --------13---------
    select
    (selectb.dname from dept b where a.deptno=b.deptno)as deptname,
    count(deptno)as deptcount,
    avg(sal)as deptavgsal
    from emp a group by deptno;

    -------14---------
    select
    a.ename,
    (select b.dname from dept b where b.deptno=a.deptno)as deptname
    ,sal

    from emp a;

    --------15---------
    select
    a.deptno,
    a.dname,
    a.loc,
    (select count(deptno)from emp b where b.deptno=a.deptno group by b.deptno)as deptcount
    from dept a;

    --------16---------
    select job,avg(sal) from emp group by job;
    --------17---------
    select deptno,min(sal)from emp where job='MANAGER'group by deptno;

    --------18---------
    select ename,(sal+nvl(comm,0))*12 as salpersal from emp order by salpersal;

  • 相关阅读:
    7月的尾巴,你是XXX
    戏说Android view 工作流程《下》
    “燕子”
    Android开机动画bootanimation.zip
    戏说Android view 工作流程《上》
    ViewController里已连接的IBOutlet为什么会是nil
    My first App "Encrypt Wheel" is Ready to Download!
    iOS开发中角色Role所产生的悲剧(未完)
    UIScrollView实现不全屏分页的小技巧
    Apple misunderstood my app,now my app status changed to “In Review”
  • 原文地址:https://www.cnblogs.com/wyh19930325/p/4007990.html
Copyright © 2011-2022 走看看