Oracle递归查询的基本语法

以下的文章主要介绍的是Oracle递归查询Start with...Connect By子句递归查询一般用于一个表维护树形结构的实际应用。本文主要是通过Sql代码的方式来引出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. );   

 

插入测试数据:

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  

以上的相关内容就是对Oracle递归查询Start with...Connect By子句递归查询一般用于一个表维护树形结构的应用的具体介绍,望你能有所收获。

【编辑推荐】

  1. Oracle约束的添加可以用六种方法解决
  2. 对Oracle绑定变量的实际操作
  3. Oracle数据库的安装与配置流程示例
  4. Oracle 数据库的并行执行的实际操作
  5. Oracle RAC配置中应注意的问题

 

THE END