程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle遞歸查詢中用相關的子句來進行遞歸查詢

Oracle遞歸查詢中用相關的子句來進行遞歸查詢

編輯:Oracle數據庫基礎

Oracle遞歸查詢中經常會用到Start with...Connect By子句來遞歸查詢一般的情況下都是用於某個表維護樹形結構的具體應用。以下就是文章的具體內容的介紹,望你浏覽完以下的內容會有所收獲。

創建示例表:

Sql代碼

  1. CREATE TABLE TBL_TEST  
  2. (  
  3. ID NUMBER,  
  4. NAME VARCHAR2(100 BYTE),  
  5. PID NUMBER DEFAULT 0  
  6. ); 

在Oracle遞歸查詢中需要插入的測試數據如下:

Sql代碼

  1. INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('1','10','0');  
  2. INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('2','11','1');  
  3. INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('3','20','0');  
  4. INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('4','12','1');  
  5. INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('5','121','2'); 

Sql代碼

從Root往樹末梢遞歸

  1. select * from TBL_TEST  
  2. start with id=1 
  3. connect by prior id = pid 

Sql代碼

從末梢往樹ROOT遞歸

  1. select * from TBL_TEST  
  2. start with id=5 
  3. connect by prior pid = id 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved