`
wangxiao5530
  • 浏览: 136816 次
  • 性别: Icon_minigender_2
  • 来自: 大连
社区版块
存档分类
最新评论

Start with...Connect By

 
阅读更多
  • Start with...Connect By

    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
    ORDER BY pid


    从末梢往树ROOT递归(取全部“父爷”集):

    SELECT * FROM TBL_TEST
    start WITH id=5
    connect BY prior pid = id
    ORDER BY id
  • 分享到:
    评论

    相关推荐

      树状数据库表:Oracle中start with...connect by prior子句用法

      本文将详细讲解如何利用`START WITH...CONNECT BY PRIOR`子句来构建和查询树形数据库表。 `START WITH...CONNECT BY PRIOR`是Oracle SQL中的一个特性,用于处理具有层级关系的数据。这个子句允许我们遍历和查询具有...

      ORACLE查询树型关系(connect_by_prior_start_with)

      使用 START WITH 和 CONNECT BY 子句可以实现 SQL 的层次查询,并且可以使用 SYS_CONNECT_BY_PATH 函数和 CONNECT_BY_ROOT、CONNECT_BY_ISLEAF、CONNECT_BY_ISCYCLE 等伪列函数来增强层次查询的能力。

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

      ### Oracle Start With.Connect By Prior 子句实现递归查询 #### 概述 在Oracle数据库中,`Start With.Connect By Prior`子句是执行递归查询的一种强大工具,主要用于处理层次结构数据。这类数据通常存在于组织...

      Oracle中connect by...start with...的使用

      本文章详细介绍了Oracle中connect by...start with...的用法。

      Oracle递归查询start with connect by prior的用法

      connect by:connect by是必须的,start with有些情况是可以省略的,或者直接start with 1=1不加限制 prior:prior关键字可以放在等号的前面,也可以放在等号的后面,表示的意义是不一样的,比如 prior id = pid,...

      Oracle_start_with_connect_by_prior_用法[文].pdf

      Oracle 连接查询是指使用 START WITH 和 CONNECT BY 语句来实现递归查询的方法,这种方法可以生成树形结构的数据。在 Oracle 中,START WITH 语句用于指定递归查询的开始记录,而 CONNECT BY 语句用于指定递归查询的...

      Oracle的Connect By使用示例

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

      浅谈Oracle下connect by原理.pdf

      文章中给出了一个名为`t_test_connectby`的数据表例子,其中包含父子关系的节点数据。通过该表,我们可以更直观地了解Connect By的执行过程。 - 不指定起始条件时,使用`CONNECT BY`: ```sql SELECT * FROM t_test...

      oracle数据库startwith用法

      ### Oracle数据库中的START WITH 和 CONNECT BY 用法详解 在Oracle数据库中,处理层次结构数据时,`START WITH` 和 `CONNECT BY` 是非常有用的两个关键字。这些关键字可以帮助我们在查询时构建出树形或者层级结构的...

      Oracle查询树形结构

      首先,要了解的是,在Oracle中,树形结构数据的查询主要依赖于START WITH...CONNECT BY PRIOR语句。这种查询方式允许用户指定起始节点(根节点),并通过CONNECT BY子句定义父子节点之间的递归关系。这种方式特别...

      Oracle树查询及相关函数

      在Oracle中,树查询主要依赖于`SELECT...START WITH...CONNECT BY...PRIOR`语法,这个语法让我们能够按照层级结构遍历数据。本文将深入探讨这个语法以及与之相关的函数,并通过实例来说明它们的用法。 首先,我们...

      oracle树结构查询.DOC

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

      Oracle树查询总结

      Oracle 数据库在处理树形数据结构时,提供了一种强大的查询方法,即 `SELECT...START WITH...CONNECT BY...PRIOR` 语法。这种查询模式允许我们以递归方式遍历和检索具有层级关系的数据,例如组织结构、产品分类或者...

      connect by的使用探索

      [ WHERE condition ][ [ START WITH condition ] CONNECT BY condition [ ORDER SIBLINGS BY expression ] ] ``` 其中,`START WITH`子句用于指定查询的起始节点,`CONNECT BY`子句用于指定查询的递归条件。 ...

      Oracle_start_with_connect_by_prior_用法

      ### Oracle中的START WITH CONNECT BY PRIOR 用法详解 #### 一、概念介绍 在Oracle数据库中,`START WITH` 和 `CONNECT BY PRIOR` 是两个非常强大的特性,主要用于处理具有层级结构的数据。这两个特性可以帮助我们...

      Oracle树查询实例分析

      Oracle树查询是数据库管理中处理层次结构数据的重要技术,它主要依赖于`SELECT...START WITH...CONNECT BY...PRIOR`的语法。这个语法允许我们按照树的结构来组织和检索数据,尤其适用于表示组织结构、目录层级或者...

      Oracle 数据库树形结构用法总结.mht

      Oracle 数据库树形结构用法总结,例如SYS_CONNECT_BY_PATH 、START WITH . . . CONNECT BY . . .等具体语法介绍

      Oracle 实战SQL层次查询

      使用`START WITH ... CONNECT BY PRIOR`语句可以从根节点开始遍历整个树形结构。例如,从编号为7839的员工开始查询: ```sql SELECT empno, mgr, ename, job FROM emp START WITH empno = 7839 CONNECT BY PRIOR ...

    Global site tag (gtag.js) - Google Analytics