1. 程式人生 > >oracle中start with和connect by的用法理解

oracle中start with和connect by的用法理解


 1.樹結構的描述
     樹結構的資料存放在表中,資料之間的層次關係即父子關係,通過表中的列與列間的關係來描述,如EMP表中的EMPNO和MGR,EMPNO表示該僱員的編號,MGR表示領導該僱員的人的編號,即子節點的MGR值等於父節點的EMPNO值。在表的每一行中都有一個表示父節點的MGR(除根節點外),通過每個節點的父節點,就可以確定整個樹結構。
     在SELECT命令中使用CONNECT BY 和START WITH 子句可以查詢表中的樹型結構關係,其命令格式如下:
SELECT . . .
CONNECT BY {PRIOR 列名1=列名2|列名1=PRIOR 裂名2}
[START WITH];

     其中:CONNECT BY子句說明每行資料將是按層次順序檢索,並規定將表中的資料連入樹型結構的關係中。PRIOR運算子必須放置在連線關係的兩列中某一個的前面。對於節點間的父子關係,PRIOR運算子在一側表示父節點,在另一側表示子節點,從而確定查詢樹結構是的順序是自頂向下還是自底向上