Oracle:层次查询

 

 

 

SELECT [LEVEL], column, expr...LEVEL:节点的层次,伪列,由查询的起点开始算起为1,依次类推。
FROM tableFROM table:指定表、视图或包含列的快照,你只能从单独的一个表中选择
[WHERE condition(s)]

WHERE: 限制返回的行。

Condition:是一个比较式。

[START WITH condition(s)]

START WITH:指定层次的根行 (起点)。这个子句对于一个正确的分级查询是必须的。

指定必须满足的条件
• 接受有效的条件
使用 EMP 表,从名字是KING 的雇员开始
起点
...START WITH ename = ‘KING'

[CONNECT BY PRIOR condition(s)] ;

CONNECT BY PRIOR:指定存在父与子行的关系列。对于分级查询该子句是必须的。

CONNECT BY PRIOR column1 = column2

方向:

从顶向下 Column1 = Parent Key
               Column2 = Child Key
从底向上 Column1 = Child Key
               Column2 = Parent Key

 

*用 WHERE 子句去除一个结点
用 CONNECT BY 子句
去除一个分支

 

WHERE ename <>'Higgins'

 

*用 CONNECT BY 子句去除一个分支
 CONNECT BY PRIOR empno = mgr

                                 AND

                                 ename <> 'Higgins'

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值