什么时候用到start with ?
(1) 一张表中存放有目录树的相关数据(子类id , 父类id )
(2)但是想展示为父子类型的数据给前台,或者列表(table)中,
(3) 这个时候就可以考虑使用start with 了
如何使用 --demo 附上,拷贝就能使用;
--创建表
create table demo2 (id_1 varchar2(10),id_2 varchar2(10),id_3 varchar2(10));
--向表中插入数据
insert into demo2 (ID_1, ID_2, ID_3) values ('A', 'A01', '0');
insert into demo2 (ID_1, ID_2, ID_3) values ('B', '', '0');
insert into demo2 (ID_1, ID_2, ID_3) values ('C', '', '0');
insert into demo2 (ID_1, ID_2, ID_3) values ('A01', '', 'A');
insert into demo2 (ID_1, ID_2, ID_3) values ('A0101', '', 'A01');
insert into demo2 (ID_1, ID_2, ID_3) values ('A010101', '', 'A0101');
insert into demo2 (ID_1, ID_2, ID_3) values ('B01', '', 'B');
insert into demo2 (ID_1, ID_2, ID_3) values ('B0101', '', 'B01');
insert into demo2 (ID_1, ID_2, ID_3) values ('B010101', '', 'B0101');
--递归查询
SELECT * FROM demo2
start with id_1 in ('A', 'B', 'C')
connect by prior id_1 = id_3
最终查询结果:
代码解释:
扫描二维码关注公众号,回复:
4182558 查看本文章