1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > sql oracle 递归查询语句 Oracle使用SQL语句进行递归查询

sql oracle 递归查询语句 Oracle使用SQL语句进行递归查询

时间:2023-08-18 01:57:28

相关推荐

sql oracle 递归查询语句 Oracle使用SQL语句进行递归查询

id

pid

问题描述:

1

0

2

0

3

1

4

1

5

2

6

2

7

3

8

4

9

5

取出id为1及其下属的所有的数据,结果为下

id

pid

1

0

3

1

4

1

7

3

8

4

SQL> CREATE TABLE TBL_TEST

2 (

3 ID NUMBER,

4 NAME VARCHAR2(100 BYTE),

5 PID NUMBER DEFAULT 0

6 );

Table created

SQL> INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('1','10','0');

1 row inserted

SQL> INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('2','11','1');

1 row inserted

SQL> INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('3','20','0');

1 row inserted

SQL> INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('4','12','1');

1 row inserted

SQL> INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('5','121','2');

1 row inserted

SQL>

SQL> select * from TBL_TEST

2 start with id=1

3 connect by prior id = pid

4 /

ID NAME PID

---------- -------------------------------------------------------------------------------- ----------

1 10 0

2 11 1

5 121 2

4 12 1

SQL>

SQL> select * from TBL_TEST

2 start with id=5

3 connect by prior pid = id

4 /

ID NAME PID

---------- -------------------------------------------------------------------------------- ----------

5 121 2

2 11 1

1 10 0

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。