oracle 樹型查詢

2021-08-31 02:36:19 字數 634 閱讀 3441

1  start with 條件 connect by prior ...記憶:

prior 優先的---》我理解為已知的.如常見的表中字段為id,pid(父類),其中有一條記錄為id=1000,pid=2000,

那麼要找id的所有子類,必須去找 pid =1000的記錄,即id=1000必須是「優先的」是「已知的」故格式 為

prior id = pid 或者 pid = prior id

反之要找id的所有父類,必須先去找id = 2000的記錄,即pid = 2000必須是"優先的」是「已知的」故格式 為

prior pid = id 或者 id = prior pid

1.2  level

select empno,mgr,level from emp where level=2 start with empno=7369 connect by  empno=prior mgr;

select empno,mgr,level from emp  start with empno=7369 connect by  empno=prior mgr and level=2;

下一句會把1層中的也查出來。

樹型查詢難道是先遞迴完了,再進行where條件過濾?

注意:優化(未看明白)

Oracle遞迴查詢 樹型查詢

prior放的左右位置決定了檢索是自底向上還是自頂向下.左邊是自上而下 找子節點 右邊是自下而上 找父節點 select t.area code,t.area name,t.area level from tbl sys area code t connect by prior t.area cod...

Oracle 10g 中的遞迴查詢 樹型查詢

oracle 10g 中的遞迴查詢 樹型查詢 一 樹型表結構 節點id 上級id 節點名稱 二 公式 select 節點id,節點名稱,level from 表 connect by prior 節點id 上級節點id start with 上級節點id 節點值 說明 1 常見的樹形結構為公司組織機...

Oracle 10g 中的遞迴查詢 樹型查詢

一 樹型表結構 節點id 上級id 節點名稱 二 公式 select 節點id,節點名稱,level from 表connect byprior 節點id 上級節點id start with 上級節點id 節點值 說明 1 常見的樹形結構為公司組織機構 地區 2 求節點id以上的結構,或以上的結構,...