码迷,mamicode.com
首页 > 数据库 > 详细

Oracle 中 Start With 关键字

时间:2018-07-01 20:28:02      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:遍历   子节点   string   树查询   基本   sel   art   demo   基本语法   

Start With (树查询)

基本语法如下:

SELECT ... FROM    + 表名
WHERE              + 条件3
START WITH         + 条件1
CONNECT BY PRIOR   + 条件2

--示例
Select * From DEMO
Start With ID = ‘00001‘
Connect By Prior ID = PID

 

条件1: 表示从哪个节点开始查找, 也就是通过条件1 查询到的数据, 作为后续查询的起始节点(参数).

当然可以放宽限定条件,如 ID in (‘00001‘, ‘00011‘)以取得多个根节点,也就是多棵树;在连接关系中,除了可以使用列明外,还允许使用列表达式。

如果省略Start With

就默认把所有满足查询条件的Tree整个表中的数据从头到尾遍历一次,每一个数据做一次根,然后遍历树中其他节点信息.

条件2: 是连接条件,其中用PRIOR表示上一条记录,例如CONNECT BY PRIOR ID = PID,意思就是上一条记录的ID是本条记录的PID,即本记录的父亲是上一条记录。CONNECT BY子句说明每行数据将是按照层次顺序检索,并规定将表中的数据连入树形结构的关系中。

Prior 在父节点的一侧表示, 自底向上查, 在 子节点的一侧表示 自上向下查询;

条件3: 不能用在 Connect By 后, 这里的条件判断, 等价于 在最后查询出结果列表之后, 再进行条件筛选; 并非 删除掉 节点及子节点;

 

Oracle 中 Start With 关键字

标签:遍历   子节点   string   树查询   基本   sel   art   demo   基本语法   

原文地址:https://www.cnblogs.com/easilyai/p/9251111.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!