`
changkunyang
  • 浏览: 30869 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ORACLE里面的递归SQL语句

阅读更多
首先是需要对表做一个规划,即必须有自己的ID和ID对应这条记录的PID(父ID)。
简单的数据结构如下
id    pid
1      0 
2      0 
3      1 
4      1 
5      2 
6      2 
7      3 
8      4 
9      5 
比如你现在需要取出ID是1的以及其下所有的记录,如:
id pid 
1  0 
3  1 
4  1 
7  3 
8  4

查询语句如下:
假如表名叫test
select * from TEST
start with id=1
connect by prior id = pid
order by id asc

如果有条件语句,比如where or when,其语句放在
start with前面。OK。
分享到:
评论

相关推荐

    Oracle递归SQL学习

    这是Oracle递归查询的关键部分。`connect by`子句定义了层次之间的连接规则。在这里,`prior`关键字用来引用上一层的值,即父节点的`parent_id`应该等于当前行的`id`,这样我们就沿着父到子的方向遍历树。 3. `...

    oracle的sql语句和语法

    本资料将重点介绍Oracle SQL语句和语法,适合初学者入门学习。 1. **SQL基础** - **SELECT语句**:用于从数据库中检索数据,是最常用的SQL语句。可以指定列名、表名、条件等,例如`SELECT column1, column2 FROM ...

    sql_函数实现三种父子递归

    在SQL中,递归函数是处理层次结构数据的有效方法,特别是在构建树形结构如菜单树或权限树时。本文将探讨如何使用SQL函数实现三种常见的递归查询:找到所有子节点、查找所有父节点以及面包屑导航数据。我们将通过一个...

    SQL语句 递归

    ### SQL语句递归:Oracle中的递归查询详解 在数据库查询语言中,递归查询是一种非常强大的功能,尤其在处理具有层次结构的数据时尤为重要。本文将深入探讨Oracle数据库中的递归查询,包括其基本语法、工作原理以及...

    Oracle 递归函数介绍

    Oracle 递归函数是一种特殊的PL/SQL函数,可以用于解决复杂的树形结构查询问题。递归函数可以自我调用,以便遍历树形结构的每个节点,直到达到停止条件。 在 Oracle 中,递归函数的定义语法如下所示: ```sql ...

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

    以上内容只是Oracle SQL语句的冰山一角,实际应用中还有更复杂的查询技巧、事务管理、游标、递归查询等。在"oracle常用SQL语句(汇总版)"文档中,读者可以找到更多关于这些主题的详细信息,对于学习和掌握Oracle SQL...

    oracle SQL递归的使用详解

    如果我们想要找出所有`pid`为'a'的直接或间接子项,可以使用以下SQL语句: ```sql SELECT parent, child FROM test START WITH pid = 'a' CONNECT BY PRIOR id = pid; ``` 在这个例子中,`START WITH pid = 'a'`...

    oracle递归、迭代

    这条SQL语句的执行结果如下: | ID | PID | IND | NAME | |----|-----|-----|-------| | 1 | 0 | 1 | 地点 | | 2 | 1 | 1 | 一说1 | | 5 | 2 | 1 | 一11 | | 6 | 2 | 2 | 一12 | | 3 | 1 | 2 | 一说2 | | 4 | 1 | 2...

    SQL 语句大全 SQL 语句大全

    学习并熟练掌握这些SQL语句将使你能够高效地操作和管理数据库,无论是在开发、数据分析还是数据库管理领域,SQL都是不可或缺的基础技能。通过"SQL 语句大全"文档,你可以深入理解并实践这些知识点,提升自己的数据库...

    通过分析SQL语句的执行计划优化SQL.doc

    而Recursive SQL是指在单个事务或会话中嵌套调用的SQL语句,这些语句可能互相依赖,形成递归结构。 Row Source则表示SQL执行过程中的数据源,它可以是表、视图、索引或者其他数据源。理解Row Source对于分析SQL执行...

    Oracle部分SQL语句答案

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

    Oracle递归查询

    ### Oracle递归查询详解 #### 一、引言 在处理具有层级结构的数据时,递归查询是一项非常有用的技能。例如,在处理组织架构、产品分类等数据时,我们经常需要查询某一节点及其所有子节点或者从某个节点追溯到其根...

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

    除了基本的递归查询,我们还可以在这些查询中加入其他SQL语句,如`WHERE`子句进行条件过滤,或者`ORDER BY`进行结果排序。同时,为了防止无限递归,通常会设置一个最大递归深度,比如Oracle的`CONNECT_BY_ISCYCLE`和...

    通过分析SQL语句的执行计划优化SQL

    递归SQL是指那些在执行过程中可能调用自身或其他SQL语句的查询。正确处理递归SQL可以避免不必要的重复计算,提高查询效率。 5. **Rowsource和Predicate的优化**: Rowsource是指SQL查询中数据的来源,而Predicate...

    SQL语句嵌套的实例.rar_SQL语句_sql 语句_sql嵌套

    3. **层次查询与递归**:在某些数据库系统中,如Oracle,可以使用CONNECT BY语句配合子查询来处理层级数据,例如查找组织结构的上下级关系。 4. **存在性子查询**:检查主查询的某行是否存在匹配子查询结果的行,...

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

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

    ### ORACLE和SQL Server的语法区别 #### 一、概述 本文主要介绍Oracle与SQL Server在SQL语言层面的异同之处,重点在于Transact-SQL(T-SQL)与PL/SQL之间的区别,并提供了一些迁移策略。对于希望将现有的Oracle...

    oracle递归查询的例子

    在数据库查询语言中,Oracle 提供了一种强大的功能——递归查询,这在其他数据库系统如 SQL Server 中是缺失的功能。递归查询允许用户执行多级关联查询,特别适用于处理具有层次结构的数据,例如组织结构图、文件...

    深入sql oracle递归查询

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

Global site tag (gtag.js) - Google Analytics