ORACLE树形结构查询

在ORACLE数据库查询中,我们经常会遇到对树型结构表的查询,这是个麻烦的问题。下面给大家介绍一种SQL语句,实现递归查询。语法如下:

SELECT 字段1,字段2,字段3,。。。

FROM 表名

START WITH 条件1

CONNECT BY PRIOR 条件2

WHERE 条件3;

下面举一个例子,有这样一张表:

表dg_test

—————————————————————————————————————

parent_id                     child_id                         id_desc

—————————————————————————————————————

0000                             1001                            rows0

0000                             1002                            rows1

0000                             1003                            rows2

0000                             1004                            rows3

1001                             2001                            rows4

1001                             2002                            rows5

1002                             2003                            rows6

1003                             2004                            rows7

2001                             3001                            rows8

3001                             4001                            rows9

——————————————————————————————————————

使用如下SQL 语句:

SELECT * FROM dg_test START WITH parent_id = '1001' CONNECT BY PRIOR child_id = parent_id;

查询结果如下:

—————————————————————————————————————

parent_id                     child_id                         id_desc

—————————————————————————————————————

1001                             2001                            rows4

1001                             2002                            rows5

2001                             3001                            rows8

3001                             4001                            rows9

——————————————————————————————————————

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值