ORACLE 10G层次查询输出树状结构


表结构:

ORACLE 10G层次查询输出树状结构

sql:

select A.id,A.name,A.job_name from

    (

     select * from sys_users t

          start with t.employee_number='123' connect by NOCYCLE prior t.super_number =  t.employee_number

    ) A

    where A.employee_number<>'222'

 

此处实用了oracle10g中的层次查询start with...connect by NOCYCLE语句的特性生成树状结构。

 

 

 

上面不太好理解,下面做一个例子:

表:


ORACLE 10G层次查询输出树状结构

使用层次查询:


ORACLE 10G层次查询输出树状结构

现在再回头看看开始的那段sql,发现查询的是从123这个员工号往高层递推来获得树状链的。