Oracle 遞迴查詢:start with
阿新 • • 發佈:2018-11-22
什麼時候用到start with ?
(1) 一張表中存放有目錄樹的相關資料(子類id , 父類id )
(2)但是想展示為父子型別的資料給前臺,或者列表(table)中,
(3) 這個時候就可以考慮使用start with 了
如何使用 --demo 附上,拷貝就能使用;
--建立表 create table demo2 (id_1 varchar2(10),id_2 varchar2(10),id_3 varchar2(10)); --向表中插入資料 insert into demo2 (ID_1, ID_2, ID_3) values ('A', 'A01', '0'); insert into demo2 (ID_1, ID_2, ID_3) values ('B', '', '0'); insert into demo2 (ID_1, ID_2, ID_3) values ('C', '', '0'); insert into demo2 (ID_1, ID_2, ID_3) values ('A01', '', 'A'); insert into demo2 (ID_1, ID_2, ID_3) values ('A0101', '', 'A01'); insert into demo2 (ID_1, ID_2, ID_3) values ('A010101', '', 'A0101'); insert into demo2 (ID_1, ID_2, ID_3) values ('B01', '', 'B'); insert into demo2 (ID_1, ID_2, ID_3) values ('B0101', '', 'B01'); insert into demo2 (ID_1, ID_2, ID_3) values ('B010101', '', 'B0101'); --遞迴查詢 SELECT * FROM demo2 start with id_1 in ('A', 'B', 'C') connect by prior id_1 = id_3
最終查詢結果:
程式碼解釋: