• 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';   
  • 相关阅读:
    鼠标经过,显示悬浮DIV
    js 循环向上滚动
    Android 全局搜索条写成自定义控件-曹永思
    CYS-Sqlite数据导入工具
    启动Android App时,动态将Sqlite数据库文件导入到手机中类方法
    asp.net 多线程
    1.母版简单创建和使用
    class表与student表之间的关系
    02Del.ashx(删除班级)
    05StuList.aspx(学生列表)
  • 原文地址:https://www.cnblogs.com/lidj/p/3298450.html
Copyright © 2020-2023  润新知