返回顶部
首页 > 资讯 > 数据库 >MySQL-树型结构数据查询
  • 671
分享到

MySQL-树型结构数据查询

mysql数据库sql 2023-09-03 20:09:24 671人浏览 安东尼
摘要

建表 SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure f

建表

在这里插入图片描述

SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure for treetest-- ----------------------------DROP TABLE IF EXISTS `treetest`;CREATE TABLE `treetest`  (  `id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'id',  `pid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '父id',  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '名字') ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;-- ------------------------------ Records of treetest-- ----------------------------INSERT INTO `treetest` VALUES ('t1', NULL, '根节点');INSERT INTO `treetest` VALUES ('t2', 't1', '一级节点A');INSERT INTO `treetest` VALUES ('t3', 't1', '一级节点B');INSERT INTO `treetest` VALUES ('t4', 't2', '二级节点C');INSERT INTO `treetest` VALUES ('t5', 't2', '二级节点D');INSERT INTO `treetest` VALUES ('t6', 't3', '二级节点E');INSERT INTO `treetest` VALUES ('t7', 't3', '二级节点F');INSERT INTO `treetest` VALUES ('t8', 't4', '三级节点G');INSERT INTO `treetest` VALUES ('t9', 't8', '四级节点H');INSERT INTO `treetest` VALUES ('tA', NULL, '根节点');INSERT INTO `treetest` VALUES ('tB', 'tA', '一级节点1');SET FOREIGN_KEY_CHECKS = 1;

自顶向下

在这里插入图片描述

WITH RECURSIVE temp as (SELECT t.* FROM treetest t WHERE t.id = 'tA'UNION ALLSELECT t.* FROM treetest t INNER JOIN temp ON t.pid = temp.id)SELECT * FROM temp

自底向上

  • 方法一
    在这里插入图片描述
WITH RECURSIVE temp as (SELECT t.* FROM treetest t WHERE t.id = 't9'UNioN ALLSELECT t.* FROM treetest t INNER JOIN temp ON t.id = temp.pid)SELECT * FROM temp
  • 方法二
    在这里插入图片描述
SELECT* FROM(SELECT@r AS oid,( SELECT @r := pid FROM treetest WHERE id = oid ) AS pid,@l := @l + 1 AS sort FROM( SELECT @r := 't9', @l := 0 ) vars,treetest h ) t WHEREt.oid IS NOT NULL ORDER BYt.sort ASC

这里加()t这一层是因为最后的@rNull,条件筛选都是此值,会导致筛选失效
在这里插入图片描述

来源地址:https://blog.csdn.net/hw2544622045/article/details/126875693

您可能感兴趣的文档:

--结束END--

本文标题: MySQL-树型结构数据查询

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

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

猜你喜欢
  • MySQL-树型结构数据查询
    建表 SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure f...
    99+
    2023-09-03
    mysql 数据库 sql
  • MySQL查询树结构方式
    目录MySQL 查询树结构1. 关于树结构2. MySQL自定义函数的方式2.1 创建测试数据2.2 获取 某节点下所有子节点2.3 获取 某节点的所有父节点3. Oracle数据库...
    99+
    2024-04-02
  • MySQL查询树形结构数据的两种方法
    目录1. 递归查询2. 闭包表对于mysql查询树形结构,可以使用递归查询或者闭包表来实现。以下是两种常用的方法: 1. 递归查询 使用递归查询可以遍历树形结构,获取父节点和子节点的关系。假设有一个名为 your_tab...
    99+
    2023-11-11
    MySQL查询树形数据 MySQL查询树形结构 MySQL树形结构查询
  • 树形结构查询
    提示:以下内容仅供参开 文章目录 前言一、需求场景二、数据库表三.实现方式1.方式1:2.方式2: 总结 前言 提示: 提示:以下是本篇文章正文内容,下面案例可供参考 一、需...
    99+
    2023-09-05
    mybatis java mysql
  • MySQL如何实现查询树结构
    这篇文章给大家分享的是有关MySQL如何实现查询树结构的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。MySQL 查询树结构1. 关于树结构此类结构的数据,通常需要表结构中含有id 、parentId等自关联字段,...
    99+
    2023-06-22
  • MySQL树状结构表查询通解
    文章目录 前言一、数据准备二、代码实现三、案例使用1. 建立数据表实体类2. mapper文件3. 使用 四、总结 前言 ​ 最近做了一个中医药方面的项目,该项目分为游戏端和服务端。笔者负责的是服务端的开发。在服务端的业务中...
    99+
    2023-08-19
    mysql 数据库 java 数据结构
  • springboot构造树形结构数据并查询的方法
    因为项目需要,页面上需要树形结构的数据进行展示(类似下图这样),因此需要后端返回相应格式的数据。 不说废话,直接开干!!! 我这里用的是springboot+mybatis-pl...
    99+
    2024-04-02
  • SQL Server 通过with as方法查询树型结构
    一、with as 公用表表达式   类似VIEW,但是不并没有创建对象,WITH AS 公用表表达式不创建对象,只能被后随的SELECT语句,其作用:   1. 实现递归查询(树形结构)   2....
    99+
    2024-04-02
  • PHP数据结构:B树的索引技巧,优化大型数据集合的查询
    b 树是一种用于快速存储和检索数据的平衡搜索树。利用联合索引、前缀索引和正确的平衡策略可优化 b 树索引的性能。具体而言,选择合适的阶数、使用联合索引、使用前缀索引和选择正确的平衡策略可...
    99+
    2024-05-14
    php 数据结构 排列
  • mysql递归查询树形结构怎么应用
    在MySQL中实现递归查询树形结构可以使用递归查询语句(Recursive Query Statement)或者使用存储过程来实现。...
    99+
    2023-10-25
    mysql
  • springboot构造树形结构数据并查询的方法是什么
    本篇内容主要讲解“springboot构造树形结构数据并查询的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“springboot构造树形结构数据并查询的方法是什么”吧!因为项目需要,页...
    99+
    2023-06-25
  • Java 递归查询部门树形结构数据的实践
    说明:在开发中,我们经常使用树形结构来展示菜单选项,如图: 那么我们在后端怎么去实现这样的一个功能呢? 1、数据库表:department 2、编写sql映射语句 &...
    99+
    2024-04-02
  • 一文解析ORACLE树结构查询
    我们在日常程序设计中,经常会遇到树状结构的表示,例如组织机构、行政区划等等。这些在数据库中往往通过一张表进行展示。这里我们以一张简单的行政区划表为例进行展示,在实际使用过程中,可以为其添加其他描述字段以及层级。 表中通...
    99+
    2024-04-02
  • 数据结构(四):树
    树 概念:树是一些节点的集合,一棵树由称作根(root)的节点 r 以及0个或多个非空的(子)树组成,这些子树中每一棵的根都被来自根 r 的一条有向的边(edge)连接。每一棵子树的根叫做根 r 的儿子(child),r 是每一棵子树的根...
    99+
    2023-01-31
    数据结构
  • Python数据结构__树
    树是一种非常重要的数据结构,它是非线性结构,它不是Python内置的数据结构;树:  1.非线性结构,每个元素可以有多个前驱和后继;  2.树是n(n>=0)个元素的集合    n=0时,称为空树;    树只有一个特殊的没有前驱的元...
    99+
    2023-01-31
    数据结构 Python
  • SQL Server如何通过with as方法查询树型结构
    SQL Server如何通过with as方法查询树型结构,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、with as 公用表表达式 ...
    99+
    2024-04-02
  • mysql查询数据库下表结构的方法
    mysql查询数据库下表结构的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!方法:1、使用DESCRIBE命令以表格的...
    99+
    2024-04-02
  • SpringBoot+MyBatisPlus+MySQL8实现树形结构查询
    本文实例为大家分享了SpringBoot+MyBatisPlus+MySQL8实现树形结构查询,供大家参考,具体内容如下 场景: 今天在实现权限功能模块时,需要将查询的权限数据,以树...
    99+
    2024-04-02
  • springboot+mybatis plus实现树形结构查询
    目录背景 使用场景 设计思路 递归模型 实现代码 注意事项 总结 背景 实际开发过程中经常需要查询节点树,根据指定节点获取子节点列表,以下记录了获取节点树的操作,以备不时之需。 使...
    99+
    2024-04-02
  • MySql树形结构(多级菜单)查询设计方案
    背景 又很久没更新了,很幸运地新冠引发了严重的上呼吸道感染,大家羊过后注意休息和防护 工作中(尤其是传统项目中)经常遇到这种需要,就是树形结构的查询(多级查询),常见的场景有:组织架构(用户部门)查询 和 多级菜单查询 比如,菜单...
    99+
    2023-09-03
    mysql 数据库 java 程序人生 后端
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作