首页 > 数据库 >MySQL 表自连接,两次自连接查询

MySQL 表自连接,两次自连接查询

时间:2023-12-31 13:36:23浏览次数:42  
标签:temp 分类 连接 表自 MySQL c3 c2 查询 id


有一个分类表,可以有三个等级的分类,一级分类下会有二级分类,二级分类会有三级分类,表结构如下所示。

MySQL 表自连接,两次自连接查询_二级


现在有个一次性需求,需要将所有的分类按照如下格式保存到excel,这肯定需要表进行自连接查询,还需要连接两次:

一级分类id

一级分类名称

二级分类id

二级分类名称

三级分类id

三级分类名称

模拟数据如下所示:

MySQL 表自连接,两次自连接查询_数据_02


查询SQL 如下所示:

select c1.id as 一级分类id, c1.name as 一级分类名称,  temp.c2id as 二级分类id, temp.c2name as 二级分类名称, temp.c3id as 三级分类id, temp.c3name as 三级分类名称 
from category c1 right join 
((select c3.id as c3id, c3.name as c3name, c2.id as c2id, c2.name as c2name, c2.parent_Id as parent_id
from category c2 right join category c3 on c2.id = c3.parent_id where c3.level = 3) as temp)
on c1.id = temp.parent_id

查询结果如下所示:

MySQL 表自连接,两次自连接查询_二级_03


查询出来的数据保存到 excel ,只需要全选查询出来的数据,复制,粘贴到表格中即可。


标签:temp,分类,连接,表自,MySQL,c3,c2,查询,id
From: https://blog.51cto.com/xuxiangyang/9047873

相关文章

  • MySQL的基础用法
    SQL语句执行顺序:FROM - ON - JOIN - WHERE - GROUP BY - WITH - HAVING - SELECT - DISTINCT - ORDER BY - LIMIT1)mysql子查询select device_id,question_id,result from question_practice_detailwhere device_id in (select device_idfrom u......
  • windows 多版本mysql数据共存方法
    1、下载好当前版本的数据解压到指定目录,例如 d:\dev\mysql\572、进入以上目录的d:\dev\mysql\57\bin目录3、执行以下命令注册服务#注意此命令运行环境为windowsdos#注册服务mysqld--installmysql57--defaults-file="D:\dev\mysql\57\my.ini"4、打开services.msc......
  • 【MySQL】一文看懂MySQL所有常见问题
    MySQL作为一款开源关系型数据库,如今绝对是占据关系型数据库的主导地位,不仅是面试中的常客,也是日常工作中最主要接触的数据库。因此,无论是背面试八股,还是工作使用,都是一定要深度掌握的一个知识点。今天就用一篇文章讲清楚MySQL的所有问题着急的小伙伴可直接跳到最后MySQL常见面试......
  • docker部署mysql服务
    ##########创建单机数据库服务myql下载镜像:dockerpullmysql:5.7 启动mysql 容器名称,数据目录,日志目录,配置文件目录,密码,镜像版本dockerrun-d-p3306:3306--namemysql-server-v/opt/mysql/data:/var/lib/mysql\ -v/opt/mysql/log:/var/log/mysql\ -v/opt/m......
  • 麒麟操作系统上离线安装 MySQL 8.0 ARM
    在无法连接互联网的环境中,我们可能需要在麒麟操作系统上安装MySQL8.0的ARM架构版本。以下是详细的步骤,演示如何在离线环境中完成MySQL8.0的ARM架构版本的安装和初始化。1.准备工作在开始之前,请确保已经准备好以下工作:麒麟操作系统一个存储MySQL8.0ARM架构版本和其依......
  • nginx请求限制和连接限制
    漏桶算法就是比如一个桶里面有五个空间,其他多余的请求会被等待或者拒绝开辟空间在http模块里面然后在local‘里面添加引用重启即可限制请求连接就是限制同一个ip的频繁连接引用......
  • MySQL索引的实现
    1、MySQL索引的实现原理:索引本质上就是一种通过减少查询需要遍历行数,加快查询性能的数据结构,避免数据库进行全表扫描,好比书的目录,让你更快的找到内容。(一个表最多16个索引)1.1、索引的优缺点:(1)索引的优点:减少查询需要检索的行数,加快查询速度,避免进行全表扫描,这也是创建索引的最主要的......
  • 我的MySQL优化学习笔记
    我的MySQL优化学习笔记这是我自己的学习记录笔记,方便自己后续翻看,(如需要)也可共享出来供大家参考。一、优化概述1.优化的目的是什么?通过配置使现有的软件和硬件获得最佳性能【典型】寻求机会该进MySQL软件本身开发自己的存储引擎和硬件设备来扩展MySQL生态系统2.从哪里......
  • TCP连接的三次握手(建立连接)与四次挥手(释放连接)
    1.TCP连接的建立三报文握手: 客户端主动打开连接,服务器被动打开连接(1)TCP客户端创建客户进程首先创建传输控制模块TCB,向服务器发出连接请求报文段,不能携带数据。(2)服务器接收请求报文段,如果同意建立了请求,则向客户端发送确认。(3)客户端还要向服务器发送确认,可以携带数据,防治已经失......
  • check the manual that corresponds to your MySQL server version for the right syn
    form:{repairstatus:0,name:'',//负责人maintenancetime:newDate().toISOString().split('T')[0],//保修时间equipmentid:'',equipment:'',describe:'',finfishtime:'',repairname:'�......