`

oracle中使用SQL递归语句

阅读更多
场景:常见的领导关系树结构,知道某一节点ID,要查出此节点的所有下级(直接下级和间接下级),此时需要使用SQL递归语句。

oracle中的递归语句: 
start   with     connect   by   prior  .


例子:

 pid  id
  a   b  
  a   c    
  a   e  
  b   b1  
  b   b2  
  c   c1  
  e   e1  
  e   e3  
  d   d1  
   
  指定pid=a,选出  
  a   b  
  a   c    
  a   e  
  b   b1  
  b   b2  
  c   c1  
  e   e1  
  e   e3 
SQL语句:
  select   parent,child   from   test   start   with   pid='a'   
  connect   
by   prior   id=pid 

分享到:
评论

相关推荐

    oracle SQL递归的使用详解

    本文将详细介绍如何在Oracle中使用SQL递归语句,并通过示例进行说明。 首先,我们要了解递归查询的基本语法。在Oracle中,递归查询通常使用`START WITH`和`CONNECT BY PRIOR`这两个关键字来实现。`START WITH`用于...

    Oracle递归SQL学习

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

    oracle的sql语句和语法

    Oracle SQL的深度和广度远超于此,还包括窗口函数、递归查询、分区表、物质化视图等高级特性。对于初学者来说,理解并掌握这些基础知识是开始探索Oracle数据库的第一步。通过不断地实践和学习,你将能够更好地利用...

    SQL语句 递归

    递归查询允许我们在SQL语句中执行多次相同的操作,直到满足某个终止条件为止。这种查询特别适合用于处理树形结构或层级结构的数据。在Oracle中,递归查询主要通过`START WITH`和`CONNECT BY PRIOR`子句实现。 ### ...

    Oracle 递归函数介绍

    在 Oracle 中,递归函数可以使用 CONNECT BY 语句来实现递归查询。CONNECT BY 语句的基本语法如下所示: ```sql SELECT ... FROM ... START WITH ... CONNECT BY ... ``` 其中,`START WITH` 子句指定了递归查询的...

    oracle递归、迭代

    本文将详细介绍如何在Oracle中使用递归查询,并通过具体的示例来展示其用法。 #### 二、递归查询的基础概念 递归查询是Oracle中一种特殊的查询方式,主要用于检索具有层次结构的数据。在Oracle中实现递归查询需要...

    sql_函数实现三种父子递归

    总之,SQL递归函数是处理层次结构数据的强大工具,通过正向递归查找子节点、反向递归查找父节点以及构建面包屑导航路径,可以灵活地处理各种树形结构的问题。掌握这些技术能够帮助我们在数据库设计和查询中更加高效...

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

    Oracle数据库也支持递归查询,但使用的是`CONNECT BY`语句。对于同样的`menus`表,Oracle的查询可能如下: ```sql SELECT id, parent_id, name, level as depth FROM menus START WITH parent_id IS NULL CONNECT ...

    Oracle+SQL精妙SQL语句讲解.txt

    根据提供的文件信息,我们可以归纳出以下几个关键的知识点: ### 1. 获取当前月份的开始日期与结束...以上是对给定文档中几个主要知识点的总结与解释,希望能帮助你更好地理解和掌握这些Oracle SQL语句的使用方法。

    oracle常用SQL语句(汇总版).zip

    - 子查询可以嵌套在其他SQL语句中,用于返回单个值、多个值或结果集,如`SELECT * FROM 表1 WHERE 列1 IN (SELECT 列2 FROM 表2 WHERE 条件);`。 7. 分区和索引: - Oracle支持表分区,可以提高大数据量查询的...

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

    本文将深入探讨这两个数据库系统中如何使用递归查询语句来操作树形结构。 首先,让我们理解什么是树形结构。在数据存储中,树形结构是一种层次化的数据模型,它由节点(或称为记录)组成,每个节点可以有零个或多...

    ORACLE和SQL Server的语法区别

    - **SQL Server:** SQL Server的INSERT语句同样允许插入单行或多行数据,并且可以使用`OUTPUT` 子句来捕获受影响的行。 ```sql INSERT INTO table_name (column1, column2, ...) OUTPUT inserted.column1, ...

    oracle和SQL的语法区别

    在 SELECT 语句方面,虽然基本结构相似,但 Oracle 的特定功能如 `START WITH` 和 `CONNECT BY` 用于构建层次查询,在 SQL Server 中可以通过递归查询或存储过程实现。此外,Oracle 的 `INTERSECT` 和 `MINUS` 集合...

    Oracle和SQL_Server的语法区别

    在将 Oracle 数据库中的数据操作语言(DML)语句和过程化语言(PL/SQL)程序迁移至 SQL Server 时,需要考虑以下几个关键点: 1. **DML 语句的语法验证**: - 对于 SELECT、INSERT、UPDATE 和 DELETE 语句,首先要...

    精通Oracle_SQL(第2版)含源码

    3. **高级SQL特性**:书中涵盖了Oracle特有的SQL功能,如PL/SQL过程化语言,游标,递归查询,窗口函数,分析函数,以及在SQL中使用正则表达式等,这些高级特性为复杂的数据处理提供了强大支持。 4. **性能调优**:...

    深入sql oracle递归查询

    这个问题需要根据连续月份的销售情况计算返利,Oracle和SQL Server都可以使用递归CTE来解决,但具体的SQL语句会因数据库系统而异。 总的来说,Oracle和SQL Server的递归查询功能虽然在语法上有所不同,但都能有效地...

    SQL 语句大全 SQL 语句大全

    SQL(Structured Query Language)是用于管理和处理关系数据库的标准语言,其功能强大且广泛应用于各种数据库系统,如MySQL、Oracle、SQL Server等。本资源“SQL 语句大全”旨在提供全面的SQL语法和操作指南,帮助...

    Oracle部分SQL语句答案

    本资料集中的"Oracle部分SQL语句答案"提供了Oracle课后习题的一些解答,尽管并不全面,但依然能帮助我们了解和学习SQL的基本概念和常用命令。 1. **SQL基本概念**: - **SELECT语句**:这是SQL中最常用的语句,...

    Oracle递归查询

    如果我们想从一个叶子节点开始递归查询它的所有上级节点,可以使用以下SQL语句: ```sql SELECT * FROM TEST_TREE START WITH ID = 10 CONNECT BY PRIOR PID = ID; ``` 这条语句的意思是从ID为10的节点开始,递归...

Global site tag (gtag.js) - Google Analytics