• oracle 树形查询,自连接查询


    例1

    select employee_id, first_name,last_name,manager_id
    from employees  
    start with employee_id=100
    connect by prior employee_id=manager_id
    1    Steven King
    2    -Neena Kochhar
    3    --Nancy Greenberg
    4    ---Daniel Faviet
    4    ---John Chen
    ...

    例2

    create table my_system_menu
    ( menu_id number,
      title varchar2(100),
      parent_id number,
      constraint my_system_menu_pk primary key (menu_id ),
      constraint my_system_menu_fk1 FOREIGN key( parent_id) references my_system_menu(menu_id) 
      );
      
    insert into my_system_menu  values (1,'Banner',null);
    insert into my_system_menu  values (2,'Student',1);
    insert into my_system_menu  values (3,'Course Catalog',2);
    insert into my_system_menu  values (4,'Class Schedule',2);
    insert into my_system_menu  values (5,'General Person',2);
    insert into my_system_menu  values (6,'Faculty Load',2);
    insert into my_system_menu  values (7,'Location Management ',2);
    insert into my_system_menu  values (8,'Basic Course Information',3);
    insert into my_system_menu  values (9,'Course Detail Information',3);
    insert into my_system_menu  values (10,'Course Registration Restrictions',3);
    commit;
    select  level,
            case 
            when level=1 then title 
            when level>1 then lpad (title,length(title)+level-1, '-')
            end tree
    from my_system_menu  
    start with menu_id=1
    connect by prior menu_id=parent_id 
    order by menu_id

    每天进步一点点,多思考,多总结 版权声明:本文为CNblog博主「zaituzhong」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
  • 相关阅读:
    Idea中提交SVN或git时,忽略某些文件不提交
    SVN(subversion )服务端和客户端的下载安装使用
    layui官方文档
    使用IntelliJ IDEA配置Tomcat
    IntelliJ IDEA 配置JDK
    设置 IntelliJ IDEA 主题
    mybatis+mysql批量插入和批量更新
    session.资料
    MyEclipse2014.Maven自动更新
    Office.资料
  • 原文地址:https://www.cnblogs.com/tingxin/p/14737394.html
Copyright © 2020-2023  润新知