`

oralce递归查询树

sql 
阅读更多


oralce递归查询树

三、基本语法
start with :设置起点,省略后默认以全部行为起点。

connect by [condition] :与一般的条件一样作用于当前列,但是在满足条件后,会以全部列作为下一层级递归(没有其他条件的话)。

prior : 表示上一层级的标识符。经常用来对下一层级的数据进行限制。不可以接伪列。

level :伪列,表示当前深度。

connect_by_root() :显示根节点列。经常用来分组。

connect_by_isleaf :1是叶子节点,0不是叶子节点。在制作树状表格时必用关键字。

sys_connect_by_path() :将递归过程中的列进行拼接。

nocycle , connect_by_iscycle : 在有循环结构的查询中使用。

siblings : 保留树状结构,对兄弟节点进行排序


链接:https://www.jianshu.com/p/0f34639e7701




select * from(select t.* from tb_tree t
start with t.tree_id='8af8470a47aad8e20147aad92e310144'
connect by t.up_id = prior t.tree_id)
where tree_level in ('04') and volt_level_flag in ('02','03','04');




select * from(select t.* from tb_tree t
start with t.tree_id='6D49854F-E2C1-4A98-A2F6-8EE064CE58FB-14260'
connect by t.up_id = prior t.tree_id)
 where tree_level in ('04') -- and volt_level_flag in ('02','03','04');
 
 
 
 select t.tree_id,
 case
        when t.short_name is null then
          t.tree_name
          else
            t.short_name
          end as tree_name,
          t.up_id,
          t.volt_code,
          t.subs_count,
          t.line_count,
          t.tran_g_count,
          t.tran_z_count,
          t.jlx_count,
          t.ssds
         from tb_tree t
        where t.tree_level in('01','02','03','04') and t.volt_level_flag=01
        order by tree_level,up_id,volt_code desc,sort_no
		
		
		
		
		 select t.tree_id,
 case
        when t.short_name is null then
          t.tree_name
          else
            t.short_name
          end as tree_name,
          t.up_id,
          t.volt_code,
          t.subs_count,
          t.line_count,
          t.tran_g_count,
          t.tran_z_count,
          t.jlx_count,
          t.ssds
         from (select t.* from tb_tree t
start with t.tree_id='6D49854F-E2C1-4A98-A2F6-8EE064CE58FB-14260'
connect by t.up_id = prior t.tree_id) t
        where t.tree_level in('01','02','03','04') and t.volt_level_flag=01
        order by tree_level,up_id,volt_code desc,sort_no




分享到:
评论

相关推荐

    Oracle递归树形结构查询功能

    oracle树状结构查询即层次递归查询,是sql语句经常用到的,在实际开发中组织结构实现及其层次化实现功能也是经常遇到的。这篇文章给大家介绍了Oracle递归树形结构查询功能,需要的朋友参考下

    递归查询菜单树,支持mysql,oracle

    递归查询菜单树,支持mysql,oracle,含表结构,递归查询菜单,支持mysql,oracle,含表结构递归查询菜单。

    oracle递归、迭代

    Oracle使用递归查询。查询树结构的sql。在Oracle中,递归查询要用到start with ……connect by prior……

    递归查询父子关系记录 oracle

    oracle 如何递归查询父子关系。经常用于构造树结构

    Oracle递归SQL学习

    Oracle使用递归SQL展示一棵树

    Oracle递归查询

    有的情况下,我们需要用递归的方法整理数据,这才程序中很容易做到,但是在数据库 ...下面我以最典型的树形结构来说明下如何在Oracle使用递归查 询。 为了说明方便,创建一张数据库表,用于存储一个简单的树形结构

    Oracle中的树状查询(递归查询)

    Oracle中的树状查询(递归查询),权限查询,树形结构

    Oracle通过递归查询父子兄弟节点方法示例

    主要给大家介绍了关于Oracle如何通过递归查询父子兄弟节点的相关资料,递归查询对各位程序员来说应该都不陌生,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。

    oracle菜单树查询

    oracle菜单树查询 使用实例 使用START WITH CONNECT BY PRIOR子句实现递归查询

    数据库设计之递归树查询

    完美解决多级递归查询,支持多种数据库,可以参照类似写法。有的数据库还是不支持的,但有类似的写法如oracle

    在ORACLE、MSSQL、MYSQL中树结构表递归查询的实现.pdf

    在ORACLE、MSSQL、MYSQL中树结构表递归查询的实现.pdf

    在db2和oracle中的对树的递归查询语句

    NULL 博文链接:https://flysky7931.iteye.com/blog/706171

    mysql 递归

    用mysql实现oracle递归,通过with as 来实现

    Mysql树形递归查询的实现方法

    前言 ...Oracle递归查询 oracle实现递归查询的话,就可以使用start with … connect by connect by递归查询基本语法是: select 1 from 表格 start with … connect by prior id = pId start with

    Oracle的递归

    Oracle的递归查询收集的几条在oracle中通过connectbyprior来实现递归查询 Startwith...ConnectBy子句递归查询一般用于一个表维护树形结构的应用。 创建示例表:CREATETABLETBL_TEST(IDNUMBER,NAMEVARCHAR2(100BYTE),...

    Oracle SQL树形结构查询

    本文介绍Oracle中使用START WITH...CONNECT BY PRIOR子句实现递归查询树形结构的方法,小伙伴们可以参考一下。

    oracle语法.rar

    内含很多oracle的语法和常用函数,包括 对于oracle进行简单树查询(递归查询),oracle内置函数大全, PLSQL 编程手册(SQL大全),及分页建表等很多学习资料。

    PostgreSQL树形结构的递归查询示例

    在不引入MPTT模型的前提下,必须通过递归算法来查询某个节点和下级子节点。 Oracle提供的connect by扩展语法,简单好用。但是其他的RDBMS就没这么人性化了(或者我不知道)。最近在项目中使用PostgreSQL来查询树形...

Global site tag (gtag.js) - Google Analytics