`

ORACLE START WITH 语句的树级结构例子

 
阅读更多
Start with...Connect By子句递归查询一般用于一个表维护树形结构的应用。
创建示例表:
CREATE TABLE TBL_TEST
(
  ID    NUMBER,
  NAME  VARCHAR2(100 BYTE),
  PID   NUMBER                                  DEFAULT 0
);
 
插入测试数据:
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('1','10','0');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('2','11','1');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('3','20','0');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('4','12','1');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('5','121','2');
 
从Root往树末梢递归
select * from TBL_TEST
 start with id=1
 connect by prior id = pid
 
从末梢往树ROOT递归
select * from TBL_TEST
 start with id=5
 connect by prior pid = id
分享到:
评论

相关推荐

    Oracle start with.connect by prior子句实现递归查询

    在Oracle数据库中,`Start With.Connect By Prior`子句是执行递归查询的一种强大工具,主要用于处理层次结构数据。这类数据通常存在于组织结构、产品分类、文件系统等场景中,通过递归查询可以方便地获取树状或层级...

    oracle查询成树状

    通过结合`START WITH`和`CONNECT BY`子句,Oracle数据库提供了一种强大的方法来查询和展示具有层级结构的数据。这种技术不仅适用于产品分类,还广泛应用于组织架构、文件系统等多种领域,极大地提高了数据的可读性和...

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

    在这个例子中,`START WITH`语句定义了查询的起点,即根节点(ID为1的员工),`CONNECT BY`则指定了层次之间的连接条件(当前员工的ID等于其上级的ID)。 DB2虽然没有直接提供类似Oracle的`CONNECT_BY`功能,但可以...

    oracle树结构查询.DOC

    Oracle数据库系统支持对树状结构数据的查询,这种查询方式主要通过`START WITH`和`CONNECT BY`子句实现。这两个子句是Oracle特有的,用于处理层级关系的数据,例如组织结构、产品分类或者树形菜单等。理解并掌握这两...

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

    在数据库系统中实现树结构表递归查询是一种常见的需求,它允许我们查询出具有层级关系的数据。ORACLE、MSSQL(Microsoft SQL Server)、MYSQL是三大主流数据库系统,它们各自提供了不同的方式来实现递归查询。 首先...

    Oracle SQL树形结构查询

    Oracle SQL 提供了 `START WITH...CONNECT BY PRIOR` 语句来实现递归查询,使得我们可以轻松地遍历和检索这些树形结构。 首先,`START WITH` 子句定义了查询的起点,即树形结构中的根节点或者一个特定的起点节点。...

    oracle 树查询 语句

    通过`START WITH`和`CONNECT BY`,我们可以遍历整个树结构,并通过`sys_connect_by_path`函数将路径转化为字符串,满足各种复杂的业务需求。在实际应用中,需要根据具体的数据表结构和业务需求进行适当的调整。

    oracle递归查询的例子

    本文将通过一个具体的例子来详细介绍如何在 Oracle 中实现递归查询。 #### 二、基础知识回顾 在深入讨论之前,我们需要先了解几个基础概念: 1. **START WITH 子句**:用于指定递归查询的起始条件。 2. **CONNECT ...

    oracle-tree-sql.rar_oracle

    在Oracle数据库中,树结构查询是一种常见的数据操作方式,特别是在处理层次关系的数据时。Oracle提供了一种称为“连接查询”(Connect By)的特有语法,使得我们可以方便地对具有层级关系的数据进行检索。本资料...

    数据库设计之递归树查询

    虽然Oracle数据库不直接支持`WITH RECURSIVE`,但它提供了`CONNECT BY`关键字来处理树形结构。以下是在Oracle中进行递归查询的例子: ```sql SELECT id, name, CONNECT_BY_ROOT id AS root_id FROM employees START...

    Oracle的Connect By使用示例

    Oracle数据库通过提供`START WITH...CONNECT BY`语句来简化这类查询操作。此功能最早出现在Oracle 8.1.6版本,并一直沿用至今,成为处理递归查询的强大工具之一。 #### 二、Connect By与Start With详解 1. **...

    Oracle递归SQL学习

    Oracle数据库中的递归SQL是一种强大的工具,用于处理层次结构数据,如组织结构、分类树或者层级关系等。在本主题中,我们将深入探讨如何利用递归SQL在Oracle中展示一棵树形结构,以及如何根据父ID遍历所有的子ID。 ...

    oracle层次查询

    - `START WITH`:指定层次结构中的起始行条件。 - `CONNECT BY`:定义了行之间的层次关系,`PRIOR`关键字表示上一层级的值。 #### 三、实际应用案例 假设我们有一个员工表(`EMP`),其中包含`EMPNO`(员工编号)...

    SQL语句 递归

    在Oracle中,递归查询主要通过`START WITH`和`CONNECT BY PRIOR`子句实现。 ### 二、递归查询的基本语法 递归查询的基本语法如下: ```sql SELECT column_name(s) FROM table_name START WITH condition CONNECT ...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    1. 层次结构模型: 层次结构模型实质上是一种有根结点的定向有序树,IMS(Information Manage-mentSystem)是其典型代表。 2. 网状结构模型:按照网状数据结构建立的数据库系统称为网状数据库系统,其典型代表是DBTG...

    Oracle层次查询和with函数的使用示例

    在这个例子中,WITH子句定义了一个名为dept_hierarchy的公共子查询,它首先选择了所有顶级部门(fparent IS NULL),然后通过UNION ALL与自身连接,将所有子部门添加进来,直到遍历完整个部门树。 总结来说,Oracle...

    oracle树状查询

    在Oracle数据库中,处理树状结构的数据是常见的需求,特别是在组织结构、商品分类、权限管理等领域。树状查询的关键在于高效地遍历和检索层级关系。Oracle提供了多种方法来处理这种查询,包括自连接、递归子查询以及...

Global site tag (gtag.js) - Google Analytics