zoukankan      html  css  js  c++  java
  • oracle 树形查询

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

    今天学习的 记录下:

    例子:

    建表

    Sql代码 复制代码 收藏代码
    1. create table Dept(    
    2. DepartNO varchar2(10),   
    3. DepartName varchar2(20),   
    4. TopNo varchar2(10)   
    5. );    
    create table Dept( 
    DepartNO varchar2(10),
    DepartName varchar2(20),
    TopNo varchar2(10)
    );  

      初始化:

    Java代码 复制代码 收藏代码
    1.  insert into Dept values('001',' 董事会','0'); commit;   
    2.  insert into Dept values('002','总裁办 ','001'); commit;   
    3.  insert into Dept values('003','财务部 ','001'); commit;    
    4. insert into Dept values('004','市场部 ','002'); commit;    
    5. insert into Dept values('005','公关部 ','002'); commit;    
    6. insert into Dept values('006','销售部 ','002'); commit;    
    7. insert into Dept values('007','分销处 ','006'); commit;    
    8. insert into Dept values('008','业务拓展处','004'); commit;    
    9. 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代码 复制代码 收藏代码
    1. select distinct departno,departname,level    
    2. from dept    
    3. connect by prior topno=departno    
    4. start with departno='005';  
    select distinct departno,departname,level 
    from dept 
    connect by prior topno=departno 
    start with departno='005';

      

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

    Java代码 复制代码 收藏代码
    1. select distinct departno,departname,level    
    2. from dept    
    3. connect by prior topno=departno    
    4. start with topno='005';    
    select distinct departno,departname,level 
    from dept 
    connect by prior topno=departno 
    start with topno='005';  
    

      

    根据输入节点向上查询 

    Sql代码 复制代码 收藏代码
    1. select distinct departno,departname,level  
    2. from dept    
    3. connect by prior departno =topno    
    4. start with departno='005';   
  • 相关阅读:
    js正则表达式大全(2)
    Magic Trackpad 2 on win10 x64
    Google 日历短信通知没有了
    Ueditor 1.4.3 jsp utf-8版Bug修复
    [转]eclipse中build workspace的相关优化
    Hello,
    EpCloud开发日志
    为服务创建安装程序
    winform 通过WCF上传Dataset数据
    opcrcw.da.dll 和.net 4.0
  • 原文地址:https://www.cnblogs.com/lidj/p/3298450.html
Copyright © 2011-2022 走看看