第十章层次查询课后练习和作业

– 课后作业

--  1.产生一个报告显示 BLAKE的所有下级(包括直接和间接下级)雇员的名字、薪水和部门号。
    select ename 雇员名字,sal 薪水,deptno 部门号
      from emp
     start with ename = 'BLAKE'
   connect by prior empno = mgr; 

--  2.创建一个报告显示对于雇员 SMITH 经理的层次,包括级别和姓名,首先显示他的直接经理。
    select level 级别, ename 姓名
      from emp
     where ename <> 'SMITH'
     start with ename = 'SMITH'
   connect by prior mgr = empno;

--  3.创建一个缩进报告显示经理层次,从名字为 KING的雇员开始,显示雇员的名字、经理ID和
->  部门ID。
   select lpad(ename, length(ename) + level * 2, '-') 雇员姓名,
          lpad(mgr, length(mgr) + level * 2, '-') 经理ID,
          deptno 部门ID
     from emp
    start with ename = 'KING'
   connect by prior empno = mgr;

--  4.产生一个公司组织图表显示经理层次。从最顶级的人开始,排除所有job为CLERK的人,还要
->  排除FORD和那些对FORD报告的雇员。
    select lpad(ename, length(ename) + level * 2, '-')
      from emp
     where job <> 'CLERK'
     start with ename = 'KING'
   connect by prior empno = mgr
       and ename <> 'FORD';

你可能感兴趣的:(Oracle数据库学习笔记)