zoukankan      html  css  js  c++  java
  • Oracle 中SQL递归查询

    一、基本语法

    select * from tablename start with 条件1  connect by prior 条件2;
    

    条件1: 是根结点的限定语句,在自顶向下查询树结构时,不但可以从根节点开始,还可以定义任何节点为起始节点,以此开始向下查找。这样查找的结果就是以该节点为开始的结构树的一枝。当然可以放宽限定条件,以取得多个根结点,实际就是多棵树。

    条件2: 其中用PRIOR表示当前记录,比如 connect by prior id = 父级id;就是说当前记录的id是下一条记录的父级id,即当前记录是下一条记录的父亲。PRIOR运算符用于确定查找树结构是的顺序是自顶向下还是自底向上。(prior修饰的一侧是当前记录的字段,另一侧表示是下一条记录的字段)
    运算符PRIOR被放置于等号前后的位置,决定着查询时的检索顺序。
    PRIOR被置于CONNECT BY子句中等号的前面时,则强制从根节点到叶节点的顺序检索,即由父节点向子节点方向通过树结构,我们称之为自顶向下的方式。如:
    CONNECT BY PRIOR id= 父级id
    PIROR运算符被置于CONNECT BY 子句中等号的后面时,则强制从叶节点到根节点的顺序检索,即由子节点向父节点方向通过树结构,我们称之为自底向上的方式。例如:
    CONNECT BY id=PRIOR 父级id

  • 相关阅读:
    ngnix-内网能用,外网不能用
    python学习
    mysql数据库导出xls-自定义
    Oralce-资源配置PROFILE
    oracle-用户管理与权限分配
    Oracle-创建索引分区
    Oracle-表分区
    Oracle--索引视图序列等对象
    Oracle-数据表对象
    Oracle-管理表空间和数据文件
  • 原文地址:https://www.cnblogs.com/hziwei/p/15064283.html
Copyright © 2011-2022 走看看