广告
返回顶部
首页 > 资讯 > 数据库 >Mysql树形递归查询的实现方法
  • 926
分享到

Mysql树形递归查询的实现方法

2024-04-02 19:04:59 926人浏览 薄情痞子
摘要

前言 对于数据库中的树形结构数据,如部门表,有时候,我们需要知道某部门的所有下属部分或者某部分的所有上级部门,这时候就需要用到Mysql的递归查询 最近在做项目迁移,oracle版本的迁到mysql版本,遇

前言

对于数据库中的树形结构数据,如部门表,有时候,我们需要知道某部门的所有下属部分或者某部分的所有上级部门,这时候就需要用到Mysql递归查询

最近在做项目迁移,oracle版本的迁到mysql版本,遇到有些oracle的函数,mysql并没有,所以就只好想自定义函数或者找到替换函数的方法进行改造。

Oracle递归查询

oracle实现递归查询的话,就可以使用start with ... connect by

connect by递归查询基本语法是:

select 1 from 表格 start with ... connect by prior id = pId

start with:表示以什么为根节点,不加限制可以写1=1,要以id为123的节点为根节点,就写为start with id =123

connect by:connect by是必须的,start with有些情况是可以省略的,或者直接start with 1=1不加限制

prior:prior关键字可以放在等号的前面,也可以放在等号的后面,表示的意义是不一样的,比如 prior id = pid,就表示pid就是这条记录的根节点了

具体可以参考我以前写的一篇oracle方面的博客:https://www.jb51.net/article/156306.htm

Oracle方面的实现


<select id="listUnitInfo" resultType="com.admin.system.unit.model.UnitModel" databaseId="oracle">
 select distinct u.unit_code,
 u.unit_name,
 u.unit_tel,
 u.para_unit_code
 from lzcity_approve_unit_info u
 start with 1 = 1
 <if test="unitCode != null and unitCode !=''">
 and u.unit_code = #{unitCode}
 </if>
 <if test="unitName!=null and unitName!=''">
 and u.unit_name like '%'|| #{unitName} ||'%'
 </if>
 connect by prior u.unit_code = u.para_unit_code
 and u.unit_code &lt;>u.para_unit_code
 </select>
您可能感兴趣的文档:

--结束END--

本文标题: Mysql树形递归查询的实现方法

本文链接: https://www.lsjlt.com/news/52512.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Mysql树形递归查询的实现方法
    前言 对于数据库中的树形结构数据,如部门表,有时候,我们需要知道某部门的所有下属部分或者某部分的所有上级部门,这时候就需要用到mysql的递归查询 最近在做项目迁移,Oracle版本的迁到Mysql版本,遇...
    99+
    2022-10-18
  • mysql实现递归查询的方法
    小编给大家分享一下mysql实现递归查询的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!mysql实现递归查询的方法:首先创建表,并初始化数据;然后向下递归,利用【find_in_set(...
    99+
    2022-10-18
  • mysql递归查询树形结构怎么应用
    在MySQL中实现递归查询树形结构可以使用递归查询语句(Recursive Query Statement)或者使用存储过程来实现。...
    99+
    2023-10-25
    mysql
  • sqlserver中怎么实现树形结构递归查询
    本篇文章为大家展示了sqlserver中怎么实现树形结构递归查询,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。公用表表达式(CTE),是一个在查询中定义的临时命名结...
    99+
    2022-10-18
  • Mysql树形表的两种查询方案(递归与自连接)
    你有没有遇到过这样一种情况: 一张表就实现了一对多的关系,并且表中每一行数据都存在“爷爷-父亲-儿子-…”的联系,这也就是所谓的树形结构 对于这样的表很显然想要通过查询来实现价值绝对是不能只靠sel...
    99+
    2023-09-30
    mysql 数据库
  • Oracle递归查询树形数据实例代码
    目录概述1、数据准备2 start with connect by prior递归查询2.1 查询所有子节点2.2 查询所有父节点2.3 查询指定节点的根节点2.4 查询下行政组织递归路径3 with递归查询3.1 wi...
    99+
    2022-11-09
  • MySQL递归查找树形结构(这个方法太实用了!)
    目录1、数据库中的树形结构2、mysql中如何查找相应的数据3、准备工作4.具体的实现(由浅入深)总结这两天,遇到了重要节点的需求。这里简单做个总结。 1、数据库中的树形结构 数据库中存贮的数据,以ID和P_ID(父id...
    99+
    2022-11-09
  • MySQL实现递归查询的方法有哪些
    MySQL中实现递归查询的方法有以下几种:1. 使用存储过程:可以在存储过程中使用递归的方式进行查询。在每次递归调用时,将查询到的结...
    99+
    2023-09-11
    MySQL
  • MyBatis实现两种查询树形数据的方法详解(嵌套结果集和递归查询)
    目录方法一:使用嵌套结果集实现1,准备工作2,实现代码方法二:使用递归查询实现    树形结构数据在开发中十分常见,比如:菜单数、组织树, 利用&nbs...
    99+
    2022-11-12
  • 怎么在Oracle中实现递归树形结构查询功能
    这篇文章给大家介绍怎么在Oracle中实现递归树形结构查询功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。oracle树状结构查询即层次递归查询,是sql语句经常用到的,在实际开发中...
    99+
    2022-10-18
  • Java 递归查询部门树形结构数据的实践
    说明:在开发中,我们经常使用树形结构来展示菜单选项,如图: 那么我们在后端怎么去实现这样的一个功能呢? 1、数据库表:department 2、编写sql映射语句 &...
    99+
    2022-11-12
  • MySQL递归查询的3种实现方式实例
    目录1.建表脚本1.1.建表2.递归查询三种实现方式2.1. 方式一 创建自定义函数实现递归查询2.1.1. 查询子节点的函数 查询时  包含自身 2.1.2. ...
    99+
    2022-11-13
  • MySQL中怎么实现递归查询
    本篇文章给大家分享的是有关MySQL中怎么实现递归查询,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Oracle 递归查询在 Oracle 中...
    99+
    2022-10-18
  • JAVA递归生成树形菜单的实现方法是什么
    今天小编给大家分享一下JAVA递归生成树形菜单的实现方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。  递归生成一个...
    99+
    2023-06-26
  • Java递归实现树形结构的方式有哪些
    这篇文章主要介绍“Java递归实现树形结构的方式有哪些”,在日常操作中,相信很多人在Java递归实现树形结构的方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java递归实现树形结构的方式有哪些”的疑...
    99+
    2023-07-04
  • Oracle递归查询的几种方法
    oracle的start with connect by prior是根据条件递归查询"树",分为四种使用情况:  第一种:start with 子节点ID='...' connect ...
    99+
    2022-10-18
  • mysql递归子节点查询的方法是什么
    在MySQL中,递归子节点查询可以通过使用递归查询语句来实现。MySQL本身没有提供递归查询的功能,但可以通过使用存储过程或视图来模...
    99+
    2023-10-25
    mysql
  • 详解Java递归实现树形结构的两种方式
    目录0、引言1、数据准备2、类型转化3、递归实现方法3.1、Java7及以下纯Java递归实现3.2、Java8及以上借助lamda表达式实现0、引言 在开发的过程中,很多业务场景需...
    99+
    2022-11-13
    Java递归实现树形结构 Java树形结构 Java递归
  • Java方法递归的形式和常见递归算法(方法递归结合File类查找文件)
    目录方法递归方法递归的形式递归常见的算法非规律递归案例方法递归 方法递归的形式 什么是方法递归 方法直接调用自己或者间接调用自己的形式称为方法递归( recursion)。 递归做为...
    99+
    2023-02-28
    Java方法递归 java递归算法 java File类查找文件
  • Java递归实现菜单树的方法详解
    pom文件 <xml version="1.0" encoding="UTF-8"> <project xmlns="http://maven.apache.or...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作