Oracle递归查询
2017-08-07 19:12
190 查看
oracle中用START WITH...CONNECT BY PRIOR子句实现递归查询
表结构为 tab (id ,pid父节点,name 名称)
数据如下:
Id | pid | Name |
1 | 0 | aa |
2 | 1 | bb |
3 | 1 | cc |
4 | 2 | dd |
5 | 2 | ee |
6 | 2 | ff |
7 | 3 | gg |
8 | 3 | hh |
9 | 3 | mm |
oracle中的select语句可以用START WITH...CONNECT BY PRIOR子句实现递归查询,connect by 是结构化查询中用到的,其基本语法是:
select ... from tablename start with cond1
connect by cond2
where cond3;
通过子节点向根节点追朔.
select * from tab start with id=3 connect by prior pid=id;
通过根节点遍历子节点:
select * from persons.dept start with pid=0 connect by prior id=pid;
相关文章推荐
- ORACLE 递归查询实现
- Oracle递归查询详解
- oracle 递归查询的例子
- Oracle递归查询
- oracle递归查询,修改及删除父子关系
- oracle 递归查询
- oracle 递归查询
- oracle 中递归查询语句
- oracle之树状结构的存储与展示(递归查询)
- PostgreSQL 中的递归查询 与oracle 的比较
- oracle学习笔记(1)--oracle递归查询
- Oracle实现递归查询
- oracle中用START WITH...CONNECT BY PRIOR子句实现递归查询
- oracle 递归查询
- Oracle 递归查询
- SQL递归查询(SqlServer/ORACLE递归查询)[语法差异分析]
- oracle编程入门笔记2015-02-05--递归查询
- oracle 使用 START WITH…CONNECT BY PRIOR 实现递归查询
- Oracle中的递归查询
- 令人迷糊的Oracle递归查询(start with)