create table test(superid varchar2(20),id varchar2(20));
insert into test values('0','1');
insert into test values('0','2');
insert into test values('1','11');
insert into test values('1','12');
insert into test values('2','21');
insert into test values('2','22');
insert into test values('11','111');
insert into test values('11','112');
insert into test values('12','121');
insert into test values('12','122');
insert into test values('21','211');
insert into test values('21','212');
insert into test values('22','221');
insert into test values('22','222');
commit;
--层次查询示例
select level||'层',lpad(' ',level*5)||id id
from test
start with superid = '0' connect by prior id=superid;
select level||'层',connect_by_isleaf,lpad(' ',level*5)||id id
from test
start with superid = '0' connect by prior id=superid;
oracle中树形结构的操作
最新推荐文章于 2021-04-03 20:19:43 发布
本文通过创建测试表并插入数据的方式,演示了如何使用Oracle SQL进行层次查询。具体包括使用CONNECT BY PRIOR子句和START WITH子句来指定查询的起点及层级关系,并展示了如何获取节点的层级以及是否为叶子节点等信息。
598

被折叠的 条评论
为什么被折叠?



