Oracle實現遞迴查詢

2021-08-19 15:13:04 字數 1071 閱讀 3094

有如下表tree:

現在要遞迴查詢冶煉(id=2)的所有父節點和子節點:

[sql] 

view plain

copy

select

* from

tree start 

with

id = 2 

connect

byprior

pid = id 

-- 遞迴查詢父節點

union

select

* from

tree start 

with

id = 2 

connect

bypid = 

prior

id; 

-- 遞迴查詢子節點

查詢結果:

當然,也可以使用in關鍵字遞迴查詢多個節點的父節點和子節點:

[sql] 

view plain

copy

select

* from

tree start 

with

id in

(1, 10) 

connect

byprior

pid = id 

-- 遞迴查詢父節點

union

select

* from

tree start 

with

id in

(1, 10) 

connect

bypid = 

prior

id; 

-- 遞迴查詢子節點

以上語句遞迴查詢id為1或者10的父節點和子節點,結果如下:

Oracle實現遞迴查詢

有如下表tree 現在要遞迴查詢冶煉 id 2 的所有父節點和子節點 select from tree start with id 2 connect by prior pid id 遞迴查詢父節點 union select from tree start with id 2 connect by ...

oracle 遞迴查詢 Oracle遞迴查詢

1.1 建立表與插入資料 create table district id number 10 not null,parent id number 10 name varchar2 255 byte not null alter table district add constraint distr...

oracle 逆向遞迴查詢 oracle遞迴查詢

oracle的遞迴查詢 最近在看公司的oa系統,oa系統中基本都會有節點樹,其中對於樹上的資料展示,就是用了資料庫的遞迴查詢,在這裡總結下遞迴查詢。現在存在如下的一棵樹 不會畫樹,將就一下,該樹對應下面建立的表資料。建立如下表 create table dg id number not null,主...