文章詳情頁
Oracle 數據庫層級遍歷查詢功能的實現
瀏覽:167日期:2023-03-12 15:25:24
目錄
- 1. 樹形結構存儲表
- 1.1 初始化測試數據
- 1.1.1 寫入數據
- 1.1.2 樹形結構如下圖
- 2. 樹形結構遍歷查詢
- 2.1 從父節點遍歷
- 2.3 start with 條件 connect by prior 條件
1. 樹形結構存儲表
首先創建一張用于測試的表,表明為 TREE,表中有3個字段,分別是,ID,NANE,UP_ID。UP_ID 是 ID 的上層,主要實現樹形結構的存儲。
CREATE TABLE TREE( ID INTEGER ,NAME VARCHAR2(30) ,UP_ID INTEGER );
1.1 初始化測試數據
1.1.1 寫入數據
insert into tree values(1,"一",8); insert into tree values(2,"二",1); insert into tree values(3,"三",2); insert into tree values(4,"四",6); insert into tree values(5,"五",2);
1.1.2 樹形結構如下圖
- root(8)
- 一(1)
- 二(2)
- 三(3)
- 五(5)
- 二(2)
- 一(1)
- root(6)
- 四(4)
2. 樹形結構遍歷查詢
2.1 從父節點遍歷
select id ,name ,up_id from tree start with up_id = 8 connect by prior id = up_id
查詢結果如下:
1 一級 8
2 二級 1
3 三級 2
5 三級 2
2.2 從子節點開始遍歷
select id ,name ,up_id from tree start with id = 8 connect by prior id = up_id
查詢結果是:
2 二級 1
3 三級 2
5 三級 2
2.3 start with 條件 connect by prior 條件
- start with 條件 表示查詢語句的開始條件。
- connect by prior 條件 表示連接條件。從上邊的例子上看,id = up_id 表示父子節點的關聯關系。prior 表示的是遍歷關系。prior 與父節點在一起表示向上層遍歷,prior 與子節點在一起表示向下遍歷。
到此這篇關于Oracle 數據庫層級遍歷查詢的文章就介紹到這了,更多相關Oracle層級遍歷查詢內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!
標簽:
Oracle
排行榜
