• oracle中树结构的一种查询方法


    有一张表T_DEP,以ID和F_ID关联,类似:
    ID   DEPNAME  F_ID
    1     总经室            -1
    2     市场部            1
    3     行政部            1
    4     食堂                3
    5      医务室           3

    形成了一个树形结构,如果要在程序中进行一次遍历,正常都会使用到递归,在oracel中可以使用CONNECT BY来直接进行遍历

    SELECT  *   FROM  T_DEP  CONNECT BY  ID =  PRIOR   F_ID  START   WITH   ID = 4
    这条语句表示从ID = 4的部门开始,从树的底部向上进行遍历,结果为:
    4     食堂                3
    3     行政部            1
    1     总经室            -1

    SELECT  *   FROM  T_DEP  CONNECT BY PRIOR   ID =   F_ID  START   WITH   ID = 3
    这条语句表示从ID=3的部门开始,从上向下进行遍历,结果为:
    3     行政部            1
    5      医务室           3
    4     食堂                3

    在oracle中使用CONNECT BY 可以免去在程序中使用递归





  • 相关阅读:
    Python面向对象编程
    Python模块
    Python函数式编程(把函数作为参数传入)
    Python函数高级特性
    Python函数基础
    连续数字或英文字符文本强制换行
    flex布局文本过长不显示省略号
    在div中放一个相同大小的svg,实际显示的位置svg偏下
    设置git push默认branch
    c# using
  • 原文地址:https://www.cnblogs.com/ballpenxp/p/886678.html
Copyright © 2020-2023  润新知