`

start with ...connect by Nocycle Prior 树查询_递归查询

 
阅读更多
select branchid from branch where parentbranchid='BRA0000000000001' order by branchid

--第一句只能查询出父节点是BRA0000000000001的所有子节点

select br.branchid
  from Branch br
 start with br.branchid = 'BRA0000000000001'
connect by Nocycle Prior br.branchid = br.parentbranchid

--这一句能查出父节点是BRA0000000000001的所有子节点,然后它的子节点的--子节点都能查出来

--语法:

[ START WITH condition ] 
CONNECT BY [ NOCYCLE ] condition

 select abbrname,branchid,A.PARENTBRANCHID,branchtype,branchstatus,LEVEL from branch a
where a.branchstatus='BRANCHSTATUS_1'
AND a.branchtype='BRANCHTYPE_30'
start with a.branchid='BRA0000000000002'
connect by nocycle prior a.branchid = a.parentbranchid;

 --正向递归查询(根据id查询自己和自己一下的数据) 

Java代码  收藏代码
  1. select * from table   
  2.     start with id=9842  
  3.     connect by prior id= parentId  
  4. order by id  
--反向递归查询(根据叶子ID查出自己和自己之上的根数据) 
Java代码  收藏代码
  1. select * from table  
  2.     start with id=9842  
  3.     connect by nocycle prior parentId=id  
  4. order by id  
 
分享到:
评论

相关推荐

    ORACLE查询树型关系(connect_by_prior_start_with)

    ORACLE 查询树型关系(connect_by_prior_start_with) Oracle 查询树型关系是指使用 START WITH 和 CONNECT BY 子句来实现 SQL 的层次查询。从 Oracle 9i 开始,可以通过 SYS_CONNECT_BY_PATH 函数实现将父节点到...

    Oracle中的树状查询(递归查询)

    - `CONNECT_BY_ROOT`函数用于获取树的根节点值,简化结果处理。 - `LEVEL`伪列提供当前节点在树中的深度,有助于分层显示和限制查询深度。 6. **注意事项** - 递归查询可能导致大量的回溯,因此要确保有适当的...

    oracle递归查询的例子

    CONNECT BY NOCYCLE PRIOR id = relation MINUS SELECT * FROM DUAL WHERE EXISTS (SELECT * FROM test t1, test t2 WHERE t1.id = PRIOR t2.relation AND t1.relation = t2.id); ``` #### 七、结论 通过上述示例,...

    oracle 使用递归的性能提示测试对比

    在给定的标题“oracle 使用递归的性能提示测试对比”和描述中,主要讨论了使用`START WITH...CONNECT BY NOCYCLE PRIOR`语句进行递归查询时的两种不同实现方式,以及它们对性能的影响。 首先,我们来理解这两种不同...

    SQL 学习6

    Oracle数据库中的CONNECT BY子句是实现阶层查询的主要方式,它允许我们通过定义连接条件来遍历层级结构。 首先,理解CONNECT BY的基本语法结构至关重要。一个基本的阶层查询可能包含以下部分: 1. **SELECT**:...

    ORACLE 合辑

    - 递归查询基于`CONNECT BY`或`START WITH`子句实现。 - 示例:`WITH RECURSIVE cte (id, parent_id, level) AS (SELECT id, parent_id, 1 FROM table WHERE parent_id IS NULL UNION ALL SELECT t.id, t.parent_id,...

Global site tag (gtag.js) - Google Analytics