返回日记本

oracle 树形查询

oracle里面实现树形查询比mssql要轻松的多:

今天学习的 记录下:

 

例子:

建表


Sql代码  create table Dept(   DepartNO varchar2(10),  DepartName varchar2(20),  TopNo varchar2(10)  );    create table Dept(

DepartNO varchar2(10),

DepartName varchar2(20),

TopNo varchar2(10)

);

  初始化:

Java代码   insert into Dept values('001',' 董事会','0'); commit;   insert into Dept values('002','总裁办 ','001'); commit;   insert into Dept values('003','财务部 ','001'); commit;   insert into Dept values('004','市场部 ','002'); commit;   insert into Dept values('005','公关部 ','002'); commit;   insert into Dept values('006','销售部 ','002'); commit;   insert into Dept values('007','分销处 ','006'); commit;   insert into Dept values('008','业务拓展处','004'); commit;   insert into Dept values('009','销售科','007'); commit;    insert into Dept values('001',' 董事会','0'); commit;

insert into Dept values('002','总裁办 ','001'); commit;

insert into Dept values('003','财务部 ','001'); commit;

insert into Dept values('004','市场部 ','002'); commit;

insert into Dept values('005','公关部 ','002'); commit;

insert into Dept values('006','销售部 ','002'); commit;

insert into Dept values('007','分销处 ','006'); commit;

insert into Dept values('008','业务拓展处','004'); commit;

insert into Dept values('009','销售科','007'); commit;

 


根据输入节点向下查询(包括自身节点信息)

Sql代码  select distinct departno,departname,level   from dept   connect by prior topno=departno   start with departno='005';  select distinct departno,departname,level

from dept

connect by prior topno=departno

start with departno='005';

  

根据输入节点向下查询(不包括自身节点信息)

Java代码  select distinct departno,departname,level   from dept   connect by prior topno=departno   start with topno='005';    select distinct departno,departname,level

from dept

connect by prior topno=departno

start with topno='005';


  

根据输入节点向上查询 

Sql代码  select distinct departno,departname,level  from dept   connect by prior departno =topno   start with departno='005';   select distinct departno,departname,level

from dept

connect by prior departno =topno

start with departno='005';


原文章浏览量:3460

原文章分类:数据库

原文链接:https://www.iteye.com/blog/lizhiyu-919850