最近在项目的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'