1. 程式人生 > >oracle sql 樹操作

oracle sql 樹操作

tar start mar select 所有 樹操作 順序 指定 子節點

語法:select…start with…connect by…prior

主要有兩點

1)prior放在子節點端,則表示掃描樹是以start with指定的節點作為根節點從上往下掃描。可能對應一個或多個分支。

start with可以省略,如果省略,表示對所有節點都當成根節點分別進行遍歷

select DEPTID,DEPTNAME,DEPT_PID,DEPT_PNAME ,LEADER,REMARK,DEPTDESC,SORTSNO,STATUS,LEVELID from T_SYS_DEPT1
START WITH DEPTID=#{treeRoot} CONNECT BY PRIOR DEPTID = DEPT_PID;------------------------------------(根---->葉子)

2)prior放在父節點端,則表示掃描樹是以start with指定的節點作為最低層子節點,從下往上掃描。順序是子節點往父節點掃描,直到根節點為止,這種情況只能得到一個分支。

start with可以省略,如果省略,表示對所有節點都當成最低層子節點分別往根節點方向遍歷

select DEPTID,LEVELID from T_SYS_DEPT1
START WITH DEPTID=#{id} CONNECT BY PRIOR DEPT_PID = DEPTID ;---------------------------------(葉子---->根)

oracle sql 樹操作