zoukankan      html  css  js  c++  java
  • 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 可以免去在程序中使用递归





  • 相关阅读:
    keyCode 与charCode
    阻止事件冒泡的三种手段
    jquery实现二级菜单
    static public和 public static 区别
    java单例模式
    使用jqueryui
    正则表达式
    PHP中mysql_affected_rows()和mysql_num_rows()区别
    PHP中冒号、endif、endwhile、endfor这些都是什么
    jqueryMobile
  • 原文地址:https://www.cnblogs.com/ballpenxp/p/886678.html
Copyright © 2011-2022 走看看