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递归查询的主要内容,如果未能解决你的问题,请参考以下文章

T-SQL查询:WITH AS 递归计算某部门的所有上级机构或下级机构

使用Oracle数据库的递归查询语句生成菜单树

mysql 查询树形接口sql

SQL查询无限层级结构的所有下级,所有上级

SQL查询无限层级结构的所有下级,所有上级

MYSQL查询上级和下级