Oracle 分级查询

7 篇文章 0 订阅

树形结构的数据:MGR=EMPNO

    树结构的数据存放在表中,数据之间的层次联系即父子联系,通过表中的列与列间的联系来描述,如EMP表中的EMPNO和MGR。EMPNO示意该雇员的编号,MGR示意领导该雇员的人的编号,即子节点的MGR值等于父节点的EMPNO值。在表中的每一行中都有一个示意父节点的MGR(除根节点外),通过每个节点的父节点,就能够确定整个树结构。

在Oracle数据库中,我们可以使用CONNECT BY 和START WITH配合SELECT来将数据之间的层级关系表现出来,其语法如下

SELECT [LEVEL], column, expr...
FROM table
[WHERE condition(s)]
[START WITH condition(s)]
[CONNECT BY PRIOR condition(s)] ;

  • LEVEL     :代表层级编号,由在树状结构中,每条数据所在节点距离根节点的距离所确定,初始值为1
  • START WITH    :指定遍历起始节点,可以指定任意节点为初始节点并以该节点为起始进行向下查找,可定义多个起始节点,或不定义起始节点


  • CONNECT BY    :指定层次检索顺序,决定是自上而下检索还是自下而上检索


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值