• oracle中 connect by prior 递归查询


    Oracle中start with...connect by prior子句用法 connect by 是结构化查询中用到的,其基本语法是: 
    select ... from tablename start with 条件1 
    connect by 条件2 
    where 条件3; 
    例: 
    select * from table 
    start with org_id = 'HBHqfWGWPy' 
    connect by prior org_id = parent_id; 

         简单说来是将一个树状结构存储在一张表里,比如一个表中存在两个字段: 
    org_id,parent_id那么通过表示每一条记录的parent是谁,就可以形成一个树状结构。 
         用上述语法的查询可以取得这棵树的所有记录。 
         其中: 
         条件1 是根结点的限定语句,当然可以放宽限定条件,以取得多个根结点,实际就是多棵树。 
         条件2 是连接条件,其中用PRIOR表示上一条记录,比如 CONNECT BY PRIOR org_id = parent_id就是说上一条记录的org_id 是本条记录的parent_id,即本记录的父亲是上一条记录。 
         条件3 是过滤条件,用于对返回的所有记录进行过滤。 

         简单介绍如下: 
         早扫描树结构表时,需要依此访问树结构的每个节点,一个节点只能访问一次,其访问的步骤如下: 
         第一步:从根节点开始; 
         第二步:访问该节点; 
         第三步:判断该节点有无未被访问的子节点,若有,则转向它最左侧的未被访问的子节,并执行第二步,否则执行第四步; 
         第四步:若该节点为根节点,则访问完毕,否则执行第五步; 
         第五步:返回到该节点的父节点,并执行第三步骤。 

         总之:扫描整个树结构的过程也即是中序遍历树的过程。 

  • 相关阅读:
    APP测试中 iOS 和 Android有哪些区别呢
    软件测试的标准工作流程
    selenium在元素定位的时候,明明定位到元素却始终不可见
    接口测试要点
    测试用例的组成部分
    APP测试的全面性
    安卓出现ARN的原因
    测试的多个方面
    α测试和β测试
    接口自动化测试用例设计方法
  • 原文地址:https://www.cnblogs.com/ShaYeBlog/p/6931924.html
Copyright © 2020-2023  润新知