关于Oracle10g以后新增的CONNECT_BY_ROOT用法

206 阅读1分钟

最近在项目的sql中遇到CONNECT_BY_ROOT,记录一下用法。

  • 1、作用:获取树形查询记录的字段,以递归的方式查询父级数据以及对应的子数据
  • 2、使用语法: 现有表数据: SELECT ID, FATHER_ID, NAME FROM T_TREE;
ID FATHER_ID,NAME 
1,0,'AAA'
2,1,'BBB'
3,2,'CCC'
4,5,'DDD'
 SELECT ID, FATHER_ID, NAME, CONNECT_BY_ROOT(NAME) NAME  
 FROM T_TREE  
 START WITH FATHER_ID = 0  
 CONNECT BY PRIOR ID = FATHER_ID;  

查询结果:

ID FATHER_ID,NAME 
1,0,'AAA'
2,1,'BBB'
3,2,'CCC'