Oracle中StartWith关键字

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle中StartWith关键字
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 后, 这⾥的条件判断, 等价于在最后查询出结果列表之后, 再进⾏条件筛选; 并⾮删除掉节点及⼦节点;。

相关文档
最新文档