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

DB2递归查询

DB2 
阅读更多

在db2可以使用sql语句来进行递归查询,就是使用with语句

1.先建一个树形表:

create table tst (
id  
integer,
parentId 
int,
name 
varchar(20))

2.插入数据
insert into tst values 
(
1,0,'a'),
(
2,0,'b'),
(
3,1,'c'),
(
4,1,'d'),
(
5,4,'d'),
(
6,5,'d')
3.使用递归查询
with rpl (id,parentId,name) as 
(
select id,parentId,name from tst  where parentId=1 
union all 
select  child.id,child.parentId,child.name from rpl parent, tst child where parent.id=child.parentId
)
select * from rpl

分享到:
评论

相关推荐

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

    DB2虽然没有直接提供类似Oracle的`CONNECT_BY`功能,但可以通过自连接和临时表的方式来实现递归查询。一个典型的例子是使用`WITH RECURSIVE`子句: ```sql WITH RECURSIVE employee_tree (level, employee_id, ...

    DB2递归.docx

    以下是对DB2递归SQL的详细解释: 1. **递归查询的基本结构** - **初始查询**:这是CTE中对基础表进行查询的部分,不引用CTE本身,用于获取递归的起点。 - **递归查询**:在FROM子句中引用CTE,形成递归。递归查询...

    DB2递归实现

    DB2递归实现是指在DB2数据库管理系统中实现递归查询的方法。递归查询是一种复杂的查询类型,它可以将结果集与自身进行比较和计算,从而实现复杂的业务逻辑。在Oracle数据库中,有一个专门的语句叫做CONNECT BY,它...

    DB2循环递归实例很有用的

    ### DB2循环递归查询详解 #### 一、引言 在数据库操作中,经常会遇到需要处理层次结构数据的情况,例如组织结构、产品分类等。这些数据的特点是具有明显的层级关系,而传统的SQL查询往往难以高效地处理这类问题。...

    SQL_WITH_AS实现父子递归查询

    ### SQL_WITH_AS实现父子递归查询 #### 一、引言与背景 在现实的软件开发项目中,处理具有层级关系的数据是一项常见的需求。比如在组织结构、产品分类、地理位置等多个场景下,都需要管理和展示这样的父子关系数据...

    将 CONNECT BY 移植到 DB2

    通过以上示例,我们可以看到虽然 Oracle 和 DB2 在处理递归查询时采用了不同的方法,但通过适当的转换和调整,可以在 DB2 中实现与 Oracle 类似的功能。对于从 Oracle 迁移到 DB2 的应用而言,掌握这两种不同的递归...

    DB2兼容模式设置文档

    - **递归查询验证**:使用`CONNECT BY`语法(在DB2中使用其他方法)验证递归查询。 - **左连接验证**:通过创建两个表并进行左连接操作来验证。 - **DUAL表验证**:在DB2中创建一个名为`DUAL`的空表并查询。 - *...

    DB2 UDB AS400版数据性能和查询优化

    ### DB2 UDB AS400版数据性能和查询优化 #### 一、概述 DB2 UDB(Universal Database)是IBM开发的一款关系型数据库管理系统,适用于多种平台,包括AS/400系统。本文档主要针对DB2 UDB在AS/400上的应用,重点介绍...

    db2-731考题答案

    8. **SQL增强**:DB2 v9增强了SQL支持,包括窗口函数、递归查询和自定义聚合函数,使得SQL编程更加灵活和强大。 9. **Java和.NET支持**:DB2 v9提供了对Java和.NET环境的全面支持,包括JDBC和.NET数据提供者,使得...

    db2迁移到mysql.docx

    在MySQL中,可以通过递归查询或者使用自定义函数来实现类似的功能。 ##### 5.1. 根据传入ID查询所有父节点的ID ```sql SELECT * FROM treenodes WHERE FIND_IN_SET(id, F_GET_TREE_PARENT_LIST('treenodes', '15'));...

    db2 存储过程语法与实例

    DB2支持在存储过程中嵌套其他存储过程,也可以创建递归存储过程,用于解决层次结构问题或自引用逻辑。 7. **动态SQL** 存储过程可以包含动态SQL,这使得在运行时能够构建和执行SQL语句,增加灵活性。 8. **游标...

    db2认证730-731练习

    1. 高级SQL:理解子查询、窗口函数、递归查询和存储过程等高级SQL特性。 2. 性能优化:学习如何通过调整索引、统计信息和查询计划来提升查询性能。 3. 数据库设计:探讨ER模型、范式理论以及如何进行物理数据库设计...

    DB2学习记录

    Oracle数据库实现了许多非标准的SQL方言和扩展特性,如`CONNECT BY`递归查询、`(+)`外连接操作符、`DUAL`表、`ROWNUM`伪列、`ROWID`伪列以及`MINUS`操作符等。这些特性在Oracle中非常常用,但在DB2中则不支持。然而...

    CF12 DB2 SQL Workshop

    最后的单元将介绍一些高级SQL特性,如窗口函数(Window Functions)用于计算行间差异和排名,递归查询(Recursive Queries)用于处理层次结构数据,以及XML支持和JSON集成,适应现代数据处理需求。 通过《CF12 DB2 ...

    DB2 Version 9.1 for zOS What’s New

    新版本增强了SQL一致性,提供了更多符合SQL标准的功能,如窗口函数、递归查询等,这不仅提升了SQL查询的能力,还加强了与其他数据库系统的互操作性。 四、SQL一致性改进 在SQL一致性方面,DB2 V9.1 for z/OS做出了...

    ORACLE转DB2对照全解

    **注意:** Oracle提供了`CONNECT BY`语法来实现层次查询,而DB2则通过递归公共表表达式(CTE)来实现。 #### 九、打印输出信息 **Oracle:** ```sql DBMS_OUTPUT.PUT_LINE('Hello World'); ``` **DB2:** ```sql ...

    db2数据仓库db2数据仓库

    - 支持递归查询,可以处理层级结构的数据,如组织结构、产品分类等。 - 通过递归查询,用户可以轻松获取到层级结构中的所有节点信息。 3. **灵活管理大型数据库和高可用性**: - 支持水平分区、表空间等特性,...

    DB2使用经验积累PDF

    - **存储过程的互相调用**:存储过程可以相互调用,但需要注意递归调用的问题。 - **C存储过程参数注意**:当使用C语言编写存储过程时,需要注意参数的传递方式和类型。 - **存储过程FENCE及UNFENCE**:FENCE和...

    Oracle 11GR2的递归WITH子查询方法

    与其他数据库系统(如DB2、Firebird、Microsoft SQL Server、PostgreSQL)相比,虽然Oracle较晚引入递归WITH子查询,但它仍然是一个强大的补充,特别适用于处理需要递归操作的数据。理解并掌握这一特性,对于优化...

    db2培训文档,语法、函数、存储过程、实例、聚集、递归等

    ### DB2培训文档知识点概述 #### 一、SQL简介 SQL(Structured Query Language)是一种用于管理关系数据库的标准语言。它不仅被广泛应用于各种数据库系统中,而且是DB2数据库管理系统的核心组成部分之一。通过SQL,...

Global site tag (gtag.js) - Google Analytics