寻求oracle树查询的一些资料,讲解与实例。谢谢!

解决方案 »

  1.   

    SQL> select * from emp;     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO
    ---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
          7369 SMITH      CLERK           7902 17-12月-80            800                    20
          7499 ALLEN      SALESMAN        7698 20-2月 -81           1600        300         30
          7521 WARD       SALESMAN        7698 22-2月 -81           1250        500         30
          7566 JONES      MANAGER         7839 02-4月 -81           2975                    20
          7654 MARTIN     SALESMAN        7698 28-9月 -81           1250       1400         30
          7698 BLAKE      MANAGER         7839 01-5月 -81           2850                    30
          7782 CLARK      MANAGER         7839 09-6月 -81           2450                    10
          7788 SCOTT      ANALYST         7566 19-4月 -87           3000                    20
          7839 KING       PRESIDENT            17-11月-81           5000                    10
          7844 TURNER     SALESMAN        7698 08-9月 -81           1500          0         30
          7876 ADAMS      CLERK           7788 23-5月 -87           1100                    20
          7900 JAMES      CLERK           7698 03-12月-81            950                    30
          7902 FORD       ANALYST         7566 03-12月-81           3000                    20
          7934 MILLER     CLERK           7782 23-1月 -82           1300                    10已选择14行。
    SQL> SELECT LEVEL 层次,
      2         sys_connect_by_path(t.ename, '->') 路径,
      3         t.empno 员工号,
      4         t.ename 姓名,
      5         t.mgr 上级领导编号
      6    FROM emp t
      7   START WITH mgr IS NULL
      8  CONNECT BY PRIOR t.empno = t.mgr;      层次 路径                                    员工号 姓名       上级领导编号
    ---------- ----------------------------------- ---------- ---------- ------------
             1 ->KING                                    7839 KING
             2 ->KING->JONES                             7566 JONES              7839
             3 ->KING->JONES->SCOTT                      7788 SCOTT              7566
             4 ->KING->JONES->SCOTT->ADAMS               7876 ADAMS              7788
             3 ->KING->JONES->FORD                       7902 FORD               7566
             4 ->KING->JONES->FORD->SMITH                7369 SMITH              7902
             2 ->KING->BLAKE                             7698 BLAKE              7839
             3 ->KING->BLAKE->ALLEN                      7499 ALLEN              7698
             3 ->KING->BLAKE->WARD                       7521 WARD               7698
             3 ->KING->BLAKE->MARTIN                     7654 MARTIN             7698
             3 ->KING->BLAKE->TURNER                     7844 TURNER             7698
             3 ->KING->BLAKE->JAMES                      7900 JAMES              7698
             2 ->KING->CLARK                             7782 CLARK              7839
             3 ->KING->CLARK->MILLER                     7934 MILLER             7782已选择14行。SQL> 
    树型查询详解,关键是要动手!
      

  2.   


    oracle start with connect by处理树查询