Oracle 层级查询 connect by prior再理解

Oracle的层级查询将数据表以树形结构进行查询与整合, 其中树形结构可以理解为目录式树结构或者二叉树式树结构,
因为一直对prior 指向的方向无法通过字义理解,所以只能每次都重新翻阅资料,2022.6.30发现,可以将其理解为递归二叉树形式,
其中prior所指的列,为递归起始列, 具体解释与说明如下

1.connect by 语句是将表内数据通过递归方式以树的形式整合与展示,其中start with的作用是指定数的根节点,如果不指定start with条件
层级语句将依次将每条记录都视为根节点生成一颗对应的树进行展示, 所以start with的作用只是指定一个起始根节点,其条件可以任意指定,
不会直接影响connect by prior的效果

2. ****重点***** prior指定的列有什么含义?? 通过start with选择一列作为递归树的根节点,那这颗树该以什么形式向下生长呢,
这时就用到了prior 关键字,例: connect by prior child_col = parent_col  
其中prior指定根节点的 child_col 作为生长字段,寻找其他数据行中 parent_col字段与其值相同的节点 作为根节点的子节点,依次类推。
可以理解为, 以child_col的值为起点,寻找所有parent_col与其相同的节点,作为子节点
根节点--parent_col--child_col
                                  |
                    子节点1--parent_col--child_col
                    子节点1--parent_col--

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值