oracle递归查询

来源:互联网 发布:淘宝被管控处理怎么办 编辑:程序博客网 时间:2024/05/16 16:13

1、创建一张测试表

create table example(  id         VARCHAR2(50) not null,  parentid      VARCHAR2(50) not null,  childrenid   VARCHAR2(50) not null)
2、插入一些测试数据

insert into example values('1','1','1_1');insert into example values('2','2','2_2');insert into example values('3','1_1','1_1_1');insert into example values('4','2_2','2_2_2');insert into example values('5','1_1_1','1_1_1_1');insert into example values('6','11','1_1');

3、表数据如图4、查询指定数据的上级数据5、查询指定数据的下级数据start with与connect by prior语句完成递归记录,形成一棵树形结构。使用方法也很简单:语法:select * from 表名 where 条件1 start with childernid=‘1_1_1’ connect by prior parentid=childrenid(对应childrenid=‘1_1_1’的记录的parentid=其他记录的childrenid),即可实现向上查询。语法:select * from 表名 where 条件1 start with parentid=‘1’ connect by prior childrenid=parentid(对应parentid=‘1’的记录的childrenid=其他记录的parentid),即可实现向下查询。
0 0
原创粉丝点击