欢迎投稿

今日深度:

Oracle 数据库层级遍历查询功能的实现,

Oracle 数据库层级遍历查询功能的实现,


目录
  • 1. 树形结构存储表
    • 1.1 初始化测试数据
      • 1.1.1 写入数据
      • 1.1.2 树形结构如下图
  • 2. 树形结构遍历查询
    • 2.1 从父节点遍历
      • 2.3 start with 条件 connect by prior 条件

      1. 树形结构存储表

      首先创建一张用于测试的表,表明为 TREE,表中有3个字段,分别是,ID,NANE,UP_ID。UP_ID 是 ID 的上层,主要实现树形结构的存储。

      CREATE TABLE TREE(
          ID INTEGER
          ,NAME VARCHAR2(30)
          ,UP_ID INTEGER
      );

      1.1 初始化测试数据

      1.1.1 写入数据

      insert into tree values(1,'一',8);
      insert into tree values(2,'二',1);
      insert into tree values(3,'三',2);
      insert into tree values(4,'四',6);
      insert into tree values(5,'五',2);
      

      1.1.2 树形结构如下图

      • root(8)
        • 一(1)
          • 二(2)
            • 三(3)
            • 五(5)
      • root(6)
        • 四(4)

      2. 树形结构遍历查询

      2.1 从父节点遍历

      select
          id
          ,name
          ,up_id
      from tree
      start with up_id = 8 connect by prior id = up_id
      

      查询结果如下:

      1    一级    8
      2    二级    1
      3    三级    2
      5    三级    2

      2.2 从子节点开始遍历

      select
          id
          ,name
          ,up_id
      from tree
      start with id = 8 connect by prior id = up_id
      

      查询结果是:

      2    二级    1
      3    三级    2
      5    三级    2

      2.3 start with 条件 connect by prior 条件

      • start with 条件 表示查询语句的开始条件。
      • connect by prior 条件 表示连接条件。从上边的例子上看,id = up_id 表示父子节点的关联关系。prior 表示的是遍历关系。prior 与父节点在一起表示向上层遍历,prior 与子节点在一起表示向下遍历。

      到此这篇关于Oracle 数据库层级遍历查询的文章就介绍到这了,更多相关Oracle层级遍历查询内容请搜索PHP之友以前的文章或继续浏览下面的相关文章希望大家以后多多支持PHP之友!

      您可能感兴趣的文章:
      • oracle多表简单查询实例代码
      • Oracle中分组查询group by用法规则详解
      • python使用 cx_Oracle 模块进行查询操作示例
      • Oracle递归查询start with connect by prior的用法
      • Oracle如何实现like多个值的查询

      www.htsjk.Com true http://www.htsjk.com/oracle/45416.html NewsArticle Oracle 数据库层级遍历查询功能的实现, 目录 1. 树形结构存储表 1.1 初始化测试数据 1.1.1 写入数据 1.1.2 树形结构如下图 2. 树形结构遍历查询 2.1 从父节点遍历 2.3 start with 条件 connect...
      评论暂时关闭