Oracle使用SQL语句进行递归查询
2006-11-29 16:39
806 查看
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
相关文章推荐
- [Beego模型] 四、使用SQL语句进行查询
- 一个表里有多个字段需要同时使用字典表进行关联显示,如何写sql查询语句
- Hibernate基础-使用标准SQL语句进行查询
- 如何使用Oracle查询并删除重复记录的SQL语句
- 使用笔记:mysql与oracle进行sql查询时如何表示日期
- Oracle_学习使用SQL语句六(连接查询)
- oracle中使用SQL递归语句
- hibernate中使用sql语句进行表链接查询,对结果集的遍历方法
- Python与开源GIS:在OGR中使用SQL语句进行查询
- excel内一键进行sql查询(使用方法 1.选择’需要进行sql查询区域 包括字段名 2 输入sql语句 3.选择输出数据的单元格)
- 在Hibernate中使用HibernateTemplate来进行包含sql语句的查询
- oracle中使用SQL递归语句的例子
- Excel 中使用SQL 语句查询数据(八)-----用Group by 进行分组统计
- 使用Query进行HQL语句查询和SQL语句查询
- oracle12c JSON数据 使用SQL语句实现多表左外连接 显示无效数据 分页查询
- 怎么使用robomongo查询mongodb(就像用plsql,输入sql语句,查询oracle数据一样)?
- Hibernate中使用原生的sql语句进行查询操作
- Excel 中使用SQL 语句查询数据(七)-----用LIKE 运算符进行模糊匹配查询
- Oracle查询表空间的使用情况的SQL语句,很实用
- MySql的sql语句中添加存储过程或者存储函数来实现Oracle中的start with ……connect by prior……递归(树形结构数据)查询