• oracle中的递归查询语句


      创建一个demo表 department:

    create table department (
     code VARCHAR2(10) not null,
     name VARCHAR2(50),
     pcode VARCHAR2(10),
     mgrname VARCHAR2(50)
    );
    insert into department values('ROOT','顶级部门', null, 'R大大');
    insert into department values('A','A部门', 'ROOT', 'A老大');
    insert into department values('A01','A01部门', 'A', 'A01老大');
    insert into department values('A02','A02部门', 'A', 'A02老大');
    insert into department values('B','B部门', 'ROOT', 'B老大');
    insert into department values('B01','B01部门', 'B', 'B01老大');
    insert into department values('B02','B02部门', 'B', 'B02老大');

    1.递归查询某个部门的所有子级部门: 

    select t.* from department t start with t.code='ROOT' connect by prior t.code = t.pcode ;
    

      查询结果:

      

     2.递归查询某个部门的所有上级部门:

    select t.* from department t start with t.code='B02' connect by t.code = prior t.pcode ;
    

      查询结果:

      

  • 相关阅读:
    67家基金子公司背景脉络梳理
    港股奇葩术语知多少
    68家信托公司7大派系股东分食图谱
    港股术语
    流动性陷阱
    ORACLE归档模式和非归档模式的利与弊
    肥尾效应
    DVP
    金融衍生品如何定价
    绿鞋机制
  • 原文地址:https://www.cnblogs.com/itfeng813/p/14086173.html
Copyright © 2020-2023  润新知