您的位置:首页 > 数据库 > Oracle

ORACLE树形结构查询

2009-04-30 15:08 267 查看
在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

——————————————————————————————————————
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: