mysql 中with的用法(2)

news2024/11/26 0:52:50

with递归练习主要用于表里面包含父节点id之类的

查询出对应的省份和市。

建表

CREATE TABLE tb(id VARCHAR(3), pid VARCHAR(3), name VARCHAR(64));
 
INSERT INTO tb VALUES('002', 0, '浙江省');
INSERT INTO tb VALUES('001', 0, '广东省');
INSERT INTO tb VALUES('003', '002', '衢州市');
INSERT INTO tb VALUES('004', '002', '杭州市');
INSERT INTO tb VALUES('005', '002', '湖州市');
INSERT INTO tb VALUES('006', '002', '嘉兴市');
INSERT INTO tb VALUES('007', '002', '宁波市');
INSERT INTO tb VALUES('008', '002', '绍兴市');
INSERT INTO tb VALUES('009', '002', '台州市');
INSERT INTO tb VALUES('010', '002', '温州市');
INSERT INTO tb VALUES('011', '002', '丽水市');
INSERT INTO tb VALUES('012', '002', '金华市');
INSERT INTO tb VALUES('013', '002', '舟山市');
INSERT INTO tb VALUES('014', '004', '上城区');
INSERT INTO tb VALUES('015', '004', '下城区');
INSERT INTO tb VALUES('016', '004', '拱墅区');
INSERT INTO tb VALUES('017', '004', '余杭区');
INSERT INTO tb VALUES('018', '011', '金东区');
INSERT INTO tb VALUES('019', '001', '广州市');
INSERT INTO tb VALUES('020', '001', '深圳市')
 

在这里插入图片描述
解决办法:

WITH RECURSIVE cte AS (
 SELECT id,name FROM tb WHERE id in ('001','002')
 UNION ALL
 SELECT k.id, CONCAT(c.name,'->',k.name) AS name FROM tb k INNER JOIN cte c ON c.id = k.pid

) 
SELECT * FROM cte  ORDER BY NAME;

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1206438.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

模拟实现C语言--strstr函数

模拟实现C语言–strstr函数 文章目录 模拟实现C语言--strstr函数一、strstr函数是什么?二、使用示例三、模拟实现3.1 模拟实现1 一、strstr函数是什么? 在目标字符串中寻找字符串 char * strstr ( const char *str1, const char * str2);根据语法结构&…

navicat导入已有sql表过程

已知我有一个外部的sql表,如图: 想要将其导入navicat并运行。 看一下我的navicat, navicat里已有的数据库并没有library,所以需要建立一个同名的library数据库来存储library.sql文件。 具体步骤如下: 在“本地连接”…

Java 反射设置List属性

使用 Java 反射可以动态地设置对象的属性值,包括 List 类型的属性。以下是一个示例代码,演示如何通过反射设置 List 类型的属性: 假设有一个类 Person,包含一个 List 类型的属性 names: java public class Person { …

多机器人群体的任务状态与机器人状态同步设计思路

背景技术 近年来,随着科学技术的发展需要,机器人技术不断进步。面临任务的日益复杂化,单机器人在很多环境下已经无法满足生产要求,于是国内外科研工作者对多机器人技术投入了大量关注,提出了利用多机器人协作来代替单机…

4步轻松搞定烦人的WPS右键菜单

安装WPS的时候不小心勾选了很多默认选项,结果右键菜单惨不忍睹,一些没用的菜单占据了大量篇幅,使用起来十分不方便。考虑360,火绒的右键菜单管理功能没搞定,最后在WPS的管理功能的隐藏角落找到了设置功能,给…

Scala---数据基础

一、数据类型 二、变量和常量的声明 定义变量或者常量的时候,也可以写上返回的类型,一般省略,如:val a:Int 10常量不可再赋值 1./** 2. * 定义变量和常量 3. * 变量 :用 var 定义 ,可修改 4. * 常量 :用 val 定…

一文简单聊聊protobuf

目录 基本介绍 原理 同类对比 为什么要使用protobuf? 基本介绍 protobuf的全称是Protocol Buffer,是Google提供的一种数据序列化协议。Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据序列化,很适合做数据存储…

linux系统下文件操作常用的命令

一、是什么 Linux 是一个开源的操作系统(OS),是一系列Linux内核基础上开发的操作系统的总称(常见的有Ubuntu、centos) 系统通常会包含以下4个主要部分 内核shell文件系统应用程序 文件系统是一个目录树的结构&…

出行平台采集机票价格信息

在上述Python代码中,首先引入了所需的模块,然后设置了代理信息和模拟浏览器访问的网页请求头。随后,使用requests库发送代理请求,并将返回的网页内容解析为HTML。接着,从HTML中提取所需的信息,比如机票价格…

实用篇-ES环境搭建

ES(elasticsearch) 是一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能 elastic stack 是elasticsearch为核心的技术栈,包括beats、logstash(用作数据收集)、kibana(负责图形展示)、elasticsearch(负责数据搜索,…

mysq,数据库的综合查询

记录一下数据库综合查询,复习加深印象 创建教学数据库中包含四个基本表: 教师情况表Teacher(Tno 教师号,TName 教师名,TDept 教师所在的院系);课程基本表Course(Cno 课号&#xff…

Network(一)计算机网络介绍

一 计算机网络 1 概述 什么是计算机网络? 硬件方面:通过线缆将网络设备和计算机连接起来 软件方面:操作系统,应用软件,应用程序通过通信线路互连 实现资源共享、信息传递、增加可靠性、提高系统处理能力 2 网络与云计算 3 计算机网…

AI创作系统ChatGPT源码+AI绘画系统+支持OpenAI DALL-E3文生图,可直接对话文生图

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。新增支…

UWB应用于金属工具管理

超宽带(Ultra-Wideband,UWB)技术在金属工具管理方面有许多应用案例,它可以帮助提高工具管理的效率、安全性和精确度。以下是一些UWB在金属工具管理中的应用案例: 工具定位和跟踪:UWB技术可以用于实时定位和…

网络运维Day15

文章目录 Prometheus简介环境准备配置模板机环境部署阿里镜像源实验环境准备 部署prometheus服务查看及测试 Promethues 被监控端Grafana简介部署 Grafana 服务器修改数据源 监控数据库安装部署Mariadb安装导出器修改 Prometheus服务端配置Grafana配置 总结 Prometheus简介 Pr…

MobileSAM论文笔记

摘要 自Meta研究团队发布SAM(Segment Anything Model)项目依赖,因其令人惊艳的零样本迁移特性和与其他视觉应用兼容的高通用性,引起了极大的关注。由于大多数类似的应用都需要运行在资源限制的边缘设备,如手机&#x…

苹果独占鳌头,国产手机围攻,双十一“照妖镜”显露谁有真实力

随着双十一购物节的结束,电商平台也给出了各手机品牌的销量数据,苹果毫无疑问成为双十一的赢家,不过两家国产手机品牌也显露了他们的实力,已具有与苹果一战之力。 与去年双十一和今年618类似,苹果仍然占据热销榜前列&a…

YOLOv8-Seg改进:SPPF系列改进篇 | 大核分离卷积注意力模块( Large Separable Kernel Attention)

🚀🚀🚀本文改进:大核分离卷积注意力模块( Large Separable Kernel Attention),实现涨点的目标并且降低计算复杂度和显存,引入到YOLOv8,与SPPF结合实现二次创新; 🚀🚀🚀Large Separable Kernel Attention 亲测在多个数据集能够实现涨点,同样适用于小目标分…

自己动手重装电脑Win10系统方法教程

如果我们自己电脑系统出现问题了,无法通过简单的操作解决,这时候最佳的解决方法,就是给电脑重装安装操作系统。有用户想给电脑重装Win10系统,但不清楚具体的重装步骤方法,下面小编就给大家详细介绍自己手动重新安装Win…

win下oracle安装与navicat远程连接配置

oracle安装 navicat远程连接配置 1、打开navicat,工具>选项>环境 2、配置 找到oracle安装目录 3、连接