`
中华好儿孙
  • 浏览: 68720 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Oracle中的sql语言的递归查询

    博客分类:
  • sql
阅读更多

create table PREREQ
(
  COURSE_ID NVARCHAR2(20),
  PREREQ_ID NVARCHAR2(20)
)
;

insert into PREREQ (COURSE_ID, PREREQ_ID)
values ('001', 'a-001');
insert into PREREQ (COURSE_ID, PREREQ_ID)
values ('a-001', 'b-001');
insert into PREREQ (COURSE_ID, PREREQ_ID)
values ('b-001', 'c-001');
insert into PREREQ (COURSE_ID, PREREQ_ID)
values ('002', 'a-002');
insert into PREREQ (COURSE_ID, PREREQ_ID)
values ('a-002', 'b-002');
insert into PREREQ (COURSE_ID, PREREQ_ID)
values ('b-002', 'c-002');
insert into PREREQ (COURSE_ID, PREREQ_ID)
values ('c-002', 'd-002');
insert into PREREQ (COURSE_ID, PREREQ_ID)
values ('010', 'e-010');
insert into PREREQ (COURSE_ID, PREREQ_ID)
values ('c-001', 'd-001');
insert into PREREQ (COURSE_ID, PREREQ_ID)
values ('d-001', 'e-001');
insert into PREREQ (COURSE_ID, PREREQ_ID)
values ('001', 'a1-001');
insert into PREREQ (COURSE_ID, PREREQ_ID)
values ('d-001', 'e2-001');
commit;

select * from prereq t
start with t.course_id = '001'
connect by prior t.prereq_id = t.course_id

参考 : http://laoli5290.iteye.com/blog/1563289
分享到:
评论

相关推荐

    Oracle递归SQL学习

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

    Oracle递归树形结构查询功能

    Oracle数据库在处理树形结构数据时提供了强大的递归查询功能,这种特性对于组织结构、产品分类、层级菜单等场景的应用非常广泛。递归树形结构查询主要依赖于`CONNECT BY`和`PRIOR`关键字,它们允许我们构建复杂的...

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

    这里,我们将深入探讨如何使用递归查询来构建菜单树,并特别关注在MySQL和Oracle这两种广泛使用的数据库系统中的实现。 首先,我们要理解什么是递归查询。递归查询是一种在数据库中处理层次数据的方法,它通过自身...

    oracle递归、迭代

    ### Oracle中的递归查询详解 #### 一、引言 在数据库管理中,处理具有层次结构的数据是一项常见的任务。例如,在组织结构、产品分类或文件系统等场景中,经常需要查询这种类型的层级数据。Oracle数据库提供了强大...

    Oracle中的树状查询(递归查询)

    本文将深入探讨Oracle中的树状查询(递归查询)及其应用。 1. **递归查询原理** 递归查询基于`CONNECT BY`子句,它允许我们定义一个起始点并根据特定条件进行递归。`PRIOR`关键字用于指定当前行与父行的关系。通过...

    深入sql oracle递归查询

    在SQL中,递归查询是一种强大的工具,尤其在处理层级数据或者树形结构时非常有用。Oracle数据库和SQL Server都提供了内置的机制来支持递归查询。本文将深入讲解这两种数据库系统如何执行递归查询,并通过示例进行...

    oracle递归查询的例子

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

    递归查询父子关系记录 oracle

    oracle 如何递归查询父子关系。经常用于构造树结构

    Oracle递归查询

    在Oracle数据库中,递归查询主要依赖于`START WITH`和`CONNECT BY PRIOR`两个关键语法。本文将详细介绍这些概念以及具体的使用方法。 #### 二、创建示例表 为了更好地理解Oracle中的递归查询,我们首先需要创建...

    Oracle 递归函数介绍

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

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

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

    oracle SQL递归的使用详解

    在Oracle数据库中,SQL递归查询是一种非常有用的工具,它允许我们处理层级关系的数据,例如组织结构、树形目录或有上下级关联的数据。本文将详细介绍如何在Oracle中使用SQL递归语句,并通过示例进行说明。 首先,...

    数据库设计之递归树查询

    在支持`WITH RECURSIVE`的数据库(如PostgreSQL、SQL Server)中,递归查询的通用语法如下: ```sql WITH RECURSIVE cte_name AS ( -- 初始化子查询(非递归部分) SELECT column1, column2, ... FROM table_...

    SQL语句 递归

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

    dhtmlx tree 使用,与oracle递归查询的结合

    通过在Oracle中执行递归SQL查询,我们可以一次性获取到整个层次结构,然后将其转换为dhtmlx Tree可以理解的格式,供前端渲染使用。 **优化性能** 描述中提到,使用Oracle递归查询比在程序中实现递归查询速度更快。...

    ORACLE和SQL Server的语法区别

    本文主要介绍Oracle与SQL Server在SQL语言层面的异同之处,重点在于Transact-SQL(T-SQL)与PL/SQL之间的区别,并提供了一些迁移策略。对于希望将现有的Oracle数据库系统迁移至SQL Server平台的用户来说,这些知识尤...

    精通Oracle_SQL(第2版)含源码

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

    Oracle PL SQL语言基础

    Oracle PL/SQL是一种在Oracle数据库环境中用于开发存储过程、函数、触发器和其他数据库对象的编程语言。它是SQL的扩展,增加了编程元素,如流程控制、变量和异常处理,使得数据库管理更加灵活和高效。 PL/SQL由三个...

    Oracle和SQL_Server的语法区别

    - Oracle 的 `START WITH U CONNECT BY` 用于创建层次查询,SQL Server 可以通过递归公共表表达式(CTE)或存储过程实现类似功能。 - Oracle 支持 `INTERSECT` 和 `MINUS` 集合运算符,而 SQL Server 用 `EXISTS` 和...

Global site tag (gtag.js) - Google Analytics