sql 递归查询

最近朋友问一sql问题,sql的递推查询,不可以用函数,只能是纯sql,弄了一上午,只能通过oracle的函数来弄,想出不别的办法了,有感兴趣的朋友可以一起研究下。

 

下面是我的方法

 

创建表

create table T1
(
  ID  NUMBER,
  PID NUMBER
)

 

表中数据

id  pid

1   0
2   1
3   1
4   2
5   4
6   5
7   6

8   5

sql语句

select   pid, id   from   t1   start   with   pid='4' connect   by   prior   id=pid

根据父id(pid),查出下面的无限级的子id,前提是不知道有多少级

 

输出结果

id  pid

5   4
6   5
7   6
8   5

 

你可能感兴趣的:(oracle,sql,table)