数据库递归查询sql ,觉得在做目录树的结构应用时很有用处。可以根据父id查询相应的所有的递归子目录。
DB2:向下递归查询:
with rpl(catalog_id,parent_id,catalog_name,catalog_level,region_code) as
(
select root.catalog_id,root.parent_id,root.catalog_name,root.catalog_level,root.region_code
from sms_catalog root
where parent_id = $catalogId$ and region_code = $regionCode$
union all
select child.catalog_id,child.parent_id,child.catalog_name,child.catalog_level,child.region_code
from rpl parent,sms_catalog child
where parent.catalog_id = child.parent_id
)
SELECT catalog_id as catalogId,
parent_id as parentId,
catalog_name as catalogName,
catalog_level as catalogLevel,
region_code as regionCode
FROM rpl
order by catalog_id,parent_id,catalog_name,catalog_level,region_code with ur
DB2:向上递归查询:很简单类似只需要更换sql中相应的对应关系即可(反向对应)
with rpl(catalog_id,parent_id,catalog_name,catalog_level,region_code) as
(
select root.catalog_id,root.parent_id,root.catalog_name,root.catalog_level,root.region_code
from sms_catalog root
where catalog_id = 33 and region_code = 917
union all
select child.catalog_id,child.parent_id,child.catalog_name,child.catalog_level,child.region_code
from rpl parent,sms_catalog child
where child.catalog_id = parent.parent_id
)
SELECT catalog_id as catalogId,
parent_id as parentId,
catalog_name as catalogName,
catalog_level as catalogLevel,
region_code as regionCode
FROM rpl order by catalogid
上面的sql可以作为参考,根据自己的需要改变表明字段名称即可。下次有空会把oracle的递归查询sql也写出来。方便使用
分享到:
相关推荐
在数据库设计中,递归查询是一种处理层级关系数据的关键技术,尤其在存在多级关联的数据结构时显得尤为重要。本文将深入探讨如何通过递归查询来解决这类问题,并着重讲解使用`WITH`语句来实现递归查询的方法,适用...
这里,我们将深入探讨如何使用递归查询来构建菜单树,并特别关注在MySQL和Oracle这两种广泛使用的数据库系统中的实现。 首先,我们要理解什么是递归查询。递归查询是一种在数据库中处理层次数据的方法,它通过自身...
递归查询是在数据库中查找具有层级关系的数据时的一种常见方法,通过反复调用自身来遍历整个树结构。 递归查询在构建菜单树时尤其有用,因为菜单通常有层级关系,如父菜单包含子菜单,子菜单可能还有孙子菜单等。在...
SQL Server中的递归查询主要通过CTE(公共表表达式)来实现,它是一种非常强大的工具,特别适用于处理层次结构数据。CTE是T-SQL脚本中的临时结果集,可以用于复杂的查询,尤其是需要递归操作的情况。本文将深入探讨...
在数据库管理中,递归查询主要用于处理层级结构数据,如组织架构、产品分类等。递归查询可以方便地遍历多级关系,实现对无限层级的数据进行查询。 #### 二、SQL递归查询语法介绍 递归查询主要通过`WITH`子句实现,...
【MySQL数据库SQL递归查询的研究与实现】 MySQL是一种广泛应用的关系型数据库管理系统,以其开源、高效和跨平台等特性,尤其适合中小型网站的部署。虽然MySQL在处理常规数据操作和查询方面表现出色,但在某些特定...
在查询数据库时,递归查询意味着我们查询一个记录,然后根据该记录的某些属性再查询其关联的记录,这个过程可能反复进行,直到满足某个终止条件。 在Hibernate中,我们可以利用HQL(Hibernate Query Language)或 ...
### 递归查询数据库,返回List到前台 在IT领域,数据处理是极其重要的环节之一。对于具有层次结构的数据,例如公司与子公司之间的关系,使用递归查询是一种常见且高效的方法。本文将深入探讨如何利用递归技术实现对...
本文将深入探讨“带数据库的递归经典树形菜单”这一主题,结合给定的文件内容,包括如何实现递归,构建树形结构,以及如何通过SQL语句来管理和操作数据。 首先,我们要理解“递归”这一概念。在编程中,递归是一种...
在Java递归树型结构通用数据库中,使用递归算法来实现部门信息的查询和删除操作,该算法可以递归查询部门信息,实现树型结构的部门管理。 7. 部门树型结构展示 在Java递归树型结构通用数据库中,提供了部门树型...
在数据库管理中,递归查询是一种处理层次结构数据的有效方法,尤其在关系型数据库如MySQL中,递归查询可以帮助我们解决树形结构或有层级关系的数据检索问题。本资料主要探讨了MySQL中实现递归查询的三种常见方法:自...
MySQL作为一种广泛使用的数据库管理系统,提供了多种方法来实现递归查询。本文旨在通过对比两种不同的MySQL递归树查询方式,分析它们的效率差异,帮助开发者选择更适合实际应用场景的方法。 #### 二、环境准备 ...
本文将深入探讨这两个数据库系统中如何使用递归查询语句来操作树形结构。 首先,让我们理解什么是树形结构。在数据存储中,树形结构是一种层次化的数据模型,它由节点(或称为记录)组成,每个节点可以有零个或多...
在数据库查询中,递归查询主要用于处理层级或树形结构的数据。这类数据的特点是每一项记录不仅包含自身的信息,还可能与其他记录形成上下级关系。MySQL 中进行递归查询有两种常见的方式:一种是使用存储过程,另一种...
在数据库查询语言中,Oracle 提供了一种强大的功能——递归查询,这在其他数据库系统如 SQL Server 中是缺失的功能。递归查询允许用户执行多级关联查询,特别适用于处理具有层次结构的数据,例如组织结构图、文件...
在关系型数据库中,递归查询是一种用于处理层次结构数据的强大工具。它允许我们从一个初始条件出发,逐步向下探索数据层级,直到达到所需的目标。这种查询通常用于模拟树形结构的数据模型,如组织架构、文件系统等。...
本示例中的“递归循环读取省市区json文件数据,并保存到数据库中”是一个全面的教程,它涵盖了从JSON解析到数据库交互的关键技术。以下是这个过程涉及的主要知识点: 1. **JSON (JavaScript Object Notation)**:...
总结起来,实现“递归法读取数据库树型结构”涉及数据库查询、递归算法、数据结构操作和用户界面控件的使用。通过这种方式,我们可以高效地处理和展示数据库中的层次数据,提供直观的用户体验。在实际项目中,可以...
Oracle数据库提供了强大的递归查询功能来解决这类问题。本文将详细介绍如何在Oracle中使用递归查询,并通过具体的示例来展示其用法。 #### 二、递归查询的基础概念 递归查询是Oracle中一种特殊的查询方式,主要...