oracle层次查询用处,Oracle描述层次查询(hierarchicalquery)

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 有关Oracle描述层次查询(hierarchical query)的详细情况,先看一张图: 正确答案:BD A错误,树的遍历可以从上至下,或从下至上 B正确 C正确,可以删除某个某个遍历的分支 例: 删除scott的分支 S

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入

有关Oracle描述层次查询(hierarchical query)的详细情况,先看一张图:

test.jsp?url=http%3A%2F%2Foracle.chinaitlab.com%2FUploadFiles_7269%2F201308%2F20130812225807504.jpeg&refer=http%3A%2F%2Foracle.chinaitlab.com%2Finduction%2F936577.html

正确答案:BD

A错误,树的遍历可以从上至下,或从下至上

B正确

C正确,可以删除某个某个遍历的分支

例: 删除scott的分支

SQL> select empno,ename,level,lpad('',2*level-1)||sys_connect_by_path(ename,'/') path from emp

2 start with empno=7566

3 connect by priorempno=mgr and ename!='SCOTT';

D错误

SQL> select empno,ename,level,lpad('',2*level-1)||sys_connect_by_path(ename,'/') path from emp

2 where ename!='SCOTT'

3 start with empno=7566

4 connect by priorempno=mgr;

可以使用条件限制输出。

正确答案BC

EMPNO ENAME LEVEL PATH

---------- ---------- ----------------------------------------

7566 JONES 1 /JONES

7876 ADAMS 3 /JONES/SCOTT/ADAMS

7902 FORD 2 /JONES/FORD

7369 SMITH 3 /JONES/FORD/SMITH

EMPNO ENAME LEVEL PATH

---------- ---------- ----------------------------------------

7566 JONES 1 /JONES

7902 FORD 2 /JONES/FORD

7369 SMITH 3 /JONES/FORD/SMITH

层次查询知识补充:

[html]

gyj@MYDB> create table test(id number,name varchar2(10),fid number);

Table created.

gyj@MYDB> insert into test values(1,'A',2);

1 row created.

gyj@MYDB> insert into test values(2,'B',3);

1 row created.

gyj@MYDB> insert into test values(3,'C',4);

1 row created.

gyj@MYDB> insert into test values(4,'D',null);

1 row created.

gyj@MYDB> commit;

Commit complete.

正向查找,对于每个遍历,只查找第一行记录

[html]

gyj@MYDB> select distinct first_value(path) over(partition by id order by lev desc) from (

2 select connect_by_root id id,level lev, sys_connect_by_path(name,' ') path

3 from test

4 start with id in (select id from test)

5 connect by id=prior fid);

FIRST_VALUE(PATH)OVER(PARTITIONBYIDORDERBYLEVDESC)

---------------------------------------------------------------------------------------

A B C D

B C D

C D

D

[1] [2]

test.jsp?url=http%3A%2F%2Fwww.chinaitlab.com%2Fcms%2Fimages%2Flogo14.gif&refer=http%3A%2F%2Foracle.chinaitlab.com%2Finduction%2F936577.html 本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值