簡單的樹型結構
關於樹的普通應用
學習了下這個函數, 用ORGINDUSTRIES的表做了個測試:
正常的樹型結構
select lpad('' '',6*(level-1))||industry,indlevel,indid,pindid
from ORGINDUSTRIES
start with indid=1
connect by pindid=prior indid
結果顯示如下
Indlevel indid pindid
服裝與服飾 1 1 0
服裝 2 2 1
女裝 3 3 2
倒型樹
下面這個例子是個”倒數”—倒過來的樹型結構
select lpad('' '',6*(level-1))||industry,indlevel,indid,pindid
from ORGINDUSTRIES
start with indid=20
connect by indid=prior pindid;
這是標准結果:
Indlevel indid pindid
二手服裝 3 20 2
服裝 2 2 1
服裝與服飾 1 1 0
結論
無論正樹還是倒樹, 關鍵就在於connect by的條件.
正樹: 必須是 ‘父’= prior ‘子’
倒樹: 必須是 ‘子’= prior ‘父’
樹型結構的條件過濾
采用樹型結構的話, 如果我們想將樹上的一個分支砍掉. 將分支後面的結構都拋棄掉, 這個可以實現麽?當然可以。