`

数据库中的递归查询

阅读更多

最近工作中用到了递归查询,顺便做下备忘:

1. SQL2005中的CTE查询:

 

WITH CTE(AAAAA,BBBBB,CCCCC) 
AS(
 
    -- 查询ID为411321150的数据
    SELECT id as AAAAA,parent as BBBBB,name  as CCCCC
    FROM RegionInfo  WHERE id='456789150' 
     
    UNION ALL
    
    -- 连接前面查询结果并进行递归    
    SELECT R.id as AAAAA, R.parent as BBBBB, R.name as CCCCC
    FROM RegionInfo as R 
    INNER JOIN  CTE C
    ON C.BBBBB=R.id 
)
SELECT  AAAAA, BBBBB,  CCCCC  
FROM CT

 原表中数据为:

查询结果为:

2.ORACLE中的递归:

  SELECT   menuid,parentsid,menuname 
  FROM  AC_MENU 
  START WITH parentsid='operorgManage' 
  CONNECT BY PRIOR menuid=parentsid

  原表中数据为:

 

 查询结果为:

 

 

  • 大小: 27 KB
  • 大小: 12.8 KB
  • 大小: 266 KB
  • 大小: 51.5 KB
分享到:
评论

相关推荐

    数据库设计之递归树查询

    在数据库设计中,递归查询是一种处理层级关系数据的关键技术,尤其在存在多级关联的数据结构时显得尤为重要。本文将深入探讨如何通过递归查询来解决这类问题,并着重讲解使用`WITH`语句来实现递归查询的方法,适用...

    带数据库的递归经典树形菜单

    例如,如果数据库中有一个记录表,每个记录可能有一个父节点ID来表示它在树中的位置,递归函数可以沿着这些父节点关系自底向上或自顶向下遍历,从而形成一个完整的树结构。 接着,我们来看“树形”结构。在计算机...

    一种MySQL数据库SQL递归查询的研究与实现.pdf

    这些数据库允许在SQL语句中直接对子查询进行递归调用,符合递归的本质。 然而,在MySQL中,由于不支持CTE,实现递归查询需要转换思路。可以通过将递归转换为迭代的方式,即使用循环和条件控制来替代递归。在递归...

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

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

    mybatis递归查询菜单树

    递归查询是在数据库中查找具有层级关系的数据时的一种常见方法,通过反复调用自身来遍历整个树结构。 递归查询在构建菜单树时尤其有用,因为菜单通常有层级关系,如父菜单包含子菜单,子菜单可能还有孙子菜单等。在...

    java递归树型结构通用数据库

    在Java递归树型结构通用数据库中,使用递归算法来实现部门信息的查询和删除操作,该算法可以递归查询部门信息,实现树型结构的部门管理。 7. 部门树型结构展示 在Java递归树型结构通用数据库中,提供了部门树型...

    存储过程递归查询

    在数据库管理中,递归查询主要用于处理层级结构数据,如组织架构、产品分类等。递归查询可以方便地遍历多级关系,实现对无限层级的数据进行查询。 #### 二、SQL递归查询语法介绍 递归查询主要通过`WITH`子句实现,...

    递归查询数据库,返回List到前台

    本文将深入探讨如何利用递归技术实现对数据库中的树形结构数据进行查询,并将查询结果以列表形式返回到前端。 #### 一、递归查询的基本概念 递归查询是指在一个函数或方法内部调用自身来解决问题的过程。这种方法...

    hibernate实现递归查询

    综上所述,通过合理设计实体关系,使用HQL或Criteria API,结合数据库特性和缓存策略,我们可以有效地在Hibernate中实现递归查询,处理树形结构数据。理解递归查询的原理并掌握其实践技巧,对于提升Java企业级应用的...

    递归循环读取省市区json文件数据,并保存到数据库中(很全面)

    本示例中的“递归循环读取省市区json文件数据,并保存到数据库中”是一个全面的教程,它涵盖了从JSON解析到数据库交互的关键技术。以下是这个过程涉及的主要知识点: 1. **JSON (JavaScript Object Notation)**:...

    SQL Server CTE 递归查询全解1

    SQL Server中的递归查询主要通过CTE(公共表表达式)来实现,它是一种非常强大的工具,特别适用于处理层次结构数据。CTE是T-SQL脚本中的临时结果集,可以用于复杂的查询,尤其是需要递归操作的情况。本文将深入探讨...

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

    本文将深入探讨这两个数据库系统中如何使用递归查询语句来操作树形结构。 首先,让我们理解什么是树形结构。在数据存储中,树形结构是一种层次化的数据模型,它由节点(或称为记录)组成,每个节点可以有零个或多...

    有关数据库SQL递归查询在不同数据库中的实现方法

    主要介绍了有关数据库SQL递归查询在不同数据库中的实现方法的相关资料,需要的朋友可以参考下

    MySQL实现递归查询的三种方式.rar

    在数据库管理中,递归查询是一种处理层次结构数据的有效方法,尤其在关系型数据库如MySQL中,递归查询可以帮助我们解决树形结构或有层级关系的数据检索问题。本资料主要探讨了MySQL中实现递归查询的三种常见方法:自...

    基于嵌入式SQL的Datalog演绎规则解释器的设计.pdf

    在关系数据库中,递归查询处理起来比较复杂,但通过嵌入式SQL和演绎规则解释器,可以有效地支持这类查询。 【扩展RDBMS功能】该设计的解释器作为一个前端工具,扩展了关系数据库管理系统(RDBMS)的功能,使其具备...

    两种mysql递归tree查询效率-mysql递归tree

    2. **利用变量和循环**:这种方法通过在SQL查询中使用变量和循环结构来实现递归查询,适用于层级结构较为复杂的场景。 ##### 方法一:使用自连接和递归联合 自连接和递归联合是一种常见的递归查询方式,其核心思想...

    orcl数据库中的递归方法

    ---注意我用的数据库是orcl数据库--- ...----数据库中的递归方法 --- 递归计算数量 注意要慎用,弄不好不数据库能弄挂掉了,下载模仿写的时候一定不要写成死循环,要不自己机器还好,服务器的话。。。。嘿嘿。。

    mysql递归查询.txt

    在数据库查询中,递归查询主要用于处理层级或树形结构的数据。这类数据的特点是每一项记录不仅包含自身的信息,还可能与其他记录形成上下级关系。MySQL 中进行递归查询有两种常见的方式:一种是使用存储过程,另一种...

    sql递归查询实例2

    在关系型数据库中,递归查询是一种用于处理层次结构数据的强大工具。它允许我们从一个初始条件出发,逐步向下探索数据层级,直到达到所需的目标。这种查询通常用于模拟树形结构的数据模型,如组织架构、文件系统等。...

Global site tag (gtag.js) - Google Analytics