较oracle来说,db2的查询树写法比较复杂,但是当你习惯以后,其实写法也挺简单的。
db2要自己写递归,没有提供相应的函数
create table tree
{
treeid,
treename,
treesuperid
}
例子:
WITH RPL (treesuperid, treeid, treename,level) AS
(
SELECT ROOT.treesuperid, ROOT.treeid, ROOT.treename,1 FROM tree ROOT where ROOT.treeid='120000'
UNION ALL
SELECT CHILD.treesuperid, CHILD.treeid, CHILD.treename,PARENT.level+1 FROM RPL PARENT, tree CHILD WHERE PARENT.treeid= CHILD.treesuperid
)
select RPL.treesuperid, RPL.treeid, RPL.treename from RPL WHERE level =2
这个sql是取的第二级树。
如果要取完整的树的话,用下面sql
WITH RPL (treesuperid, treeid, treename) AS
(
SELECT ROOT.treesuperid, ROOT.treeid, ROOT.treename FROM tree ROOT where ROOT.treeid='120000'
UNION ALL
SELECT CHILD.treesuperid, CHILD.treeid, CHILD.treename FROM RPL PARENT, tree CHILD WHERE PARENT.treeid= CHILD.treesuperid
)
select RPL.treesuperid, RPL.treeid, RPL.treename from RPL
分享到:
相关推荐
DB2存储过程是一种预编译的SQL代码集合,它封装了复杂的数据库操作,可以在需要时被应用程序调用。存储过程的使用有多个显著优势。首先,它可以减少客户端和服务器之间的网络通信,因为处理过程在服务器端执行,减少...
DB2常用SQL写法 以下是对DB2常用SQL写法的知识点总结: 一、创建和删除自定义单值类型 DB2中可以创建自定义单值类型,例如create distinct type var_newtype as decimal(5,2) with comparisons;该语句创建了一个...
DB2查询分析器是针对IBM DB2数据库的专业工具,它旨在为数据库管理员和开发人员提供高效、便捷的SQL查询编写和执行环境。作为一款功能全面的查询工具,DB2查询分析器通过一系列智能特性,优化了数据库操作流程,提升...
DB2查询分析器C# ERWIN是一个专门设计用于DB2数据库管理系统的开发工具,它集成了C#编程语言和ERWIN数据建模工具的优势。这个工具的主要目标是简化SQL语句的编写和执行过程,特别是在处理ERWIN模型中的物理视图和...
DB2数据库查询工具是专为管理和操作IBM的DB2关系型数据库系统设计的高效能工具。这个工具使得数据库管理员和开发人员能够方便地对DB2中的数据进行查询、分析和管理,极大地提高了工作效率。在本篇文章中,我们将深入...
### DB2 查询锁的方法 在DB2数据库管理系统中,锁是一种重要的机制,用于管理多个用户对数据资源的同时访问,确保数据的一致性和准确性。当一个事务正在修改数据时,其他试图访问同一数据的事务可能会被阻止,直到...
在数据库管理领域,DB2和Oracle都是广泛应用的关系型数据库系统,它们都支持对树形结构数据的处理。本文将深入探讨这两个数据库系统中如何使用递归查询语句来操作树形结构。 首先,让我们理解什么是树形结构。在...
### DB2查询性能调优详解 #### 一、引言 在数据库管理领域,IBM的DB2是一款功能强大且广泛使用的数据库管理系统。特别是在大型企业和关键业务应用中,DB2因其高性能、高可用性和强大的数据处理能力而备受青睐。...
### DB2查询访问计划分析与优化 #### 一、引言 在数据库管理系统的领域内,查询优化是一项至关重要的技术,它直接影响到查询性能的好坏。IBM DB2作为一款先进的关系型数据库管理系统,其内置的优化器能够在处理复杂...
DB2、ORACLE SQL写法的主要区别 1、数据类型转换函数 2、Where条件弱类型判断 3、replace关键字 4、子查询别名 5、DATE数据类型的区别 6、分页的处理 7、decode函数 8、NVL函数 9、substr的不同 10、获取操作系统...
### C语言查询DB2数据库开发知识点 #### 一、DB2数据库查询开发流程 1. **创建SQC文件** - 创建一个后缀名为 `.sqc` 的文件,并在此文件中编写 C 语言代码和 SQL 代码。 - 示例代码: ```c #include #include...
这有助于提高基于`column1`查询时的速度。 #### 7. 运行统计分析 ```sql runstatsontable<> for index <> shrlevel reference; ``` 此命令用于运行统计分析,它针对表`<>`及其索引`<>`执行,并设置共享级别为`...
本文旨在探讨DB2性能优化的核心策略和技术,特别是针对查询优化这一关键环节。 #### 二、语句优化技巧 **1. SELECT语句优化** - **只选取必要列**:避免使用`SELECT *`,这会返回所有列,导致不必要的处理和网络...
在DB2数据库管理系统中,了解SQL执行计划对于优化查询性能、提高系统运行效率至关重要。本文将详细介绍如何在DB2中查看SQL执行计划,并通过实际案例深入解析相关命令及其参数的作用。 ### 一、DB2简介 DB2是IBM...
DB2数据库批量导insert工具是为了解决在某些DB2客户端中无法便捷地批量生成insert语句以备份数据的问题而设计的。这个工具允许用户高效地导出DB2数据库中的insert语句,使得数据备份过程更为简单且经过了大规模的...
本文总结了常用的DB2命令,涵盖数据库创建、连接、表创建、索引创建、视图创建、触发器创建、查询、锁定、FORCE应用程序等多方面。 1. 建立数据库:CREATE DATABASE命令用于创建一个新的数据库,例如:CREATE ...
3. **db2qgjava.jar**:此文件可能包含了DB2 Query Governor的Java实现,Query Governor是一种性能管理工具,可以限制SQL查询的资源消耗,防止单个查询影响整个系统的性能。 4. **db2policy.jar**:可能包含DB2的...
Bufferpool是DB2数据库用于缓存数据页的一种内存结构,它能够存储数据页和索引页,以减少磁盘I/O操作,提高查询效率。每个Bufferpool都有一个特定的名称,并且可以被多个表空间共享。 #### 1.2 Bufferpool配置参数...