oracle递归查询
Posted zz_cl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle递归查询相关的知识,希望对你有一定的参考价值。
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), 即可实现向下查询。
以上是关于oracle递归查询的主要内容,如果未能解决你的问题,请参考以下文章