WITH RECURSIVE as 的使用

2024-03-15 00:58
文章标签 使用 recursive

本文主要是介绍WITH RECURSIVE as 的使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.建表语句

create table TEST(id varchar(3) , pid varchar(3) , name varchar(10));insert into TEST values('002' , 0 , '浙江省');insert into TEST values('001' , 0 , '广东省');
insert into TEST values('003' , '002' , '衢州市');
insert into TEST values('004' , '002' , '杭州市') ;
insert into TEST values('005' , '002' , '湖州市');
insert into TEST values('006' , '002' , '嘉兴市') ;
insert into TEST values('007' , '002' , '宁波市');
insert into TEST values('008' , '002' , '绍兴市') ;
insert into TEST values('009' , '002' , '台州市');
insert into TEST values('010' , '002' , '温州市') ;
insert into TEST values('011' , '002' , '丽水市');
insert into TEST values('012' , '002' , '金华市') ;
insert into TEST values('013' , '002' , '舟山市');
insert into TEST values('014' , '004' , '上城区') ;
insert into TEST values('015' , '004' , '下城区');
insert into TEST values('016' , '004' , '拱墅区') ;
insert into TEST values('017' , '004' , '余杭区') ;
insert into TEST values('018' , '011' , '金东区') ;
insert into TEST values('019' , '001' , '广州市') ;
insert into TEST values('020' , '001' , '深圳市') ;

2.实现效果:

3.实现步骤:

(1)查出浙江省:

select t.id,cast(t.name as varchar(100)) from test t  where id='002'

 (2)两表拼接查出数据;

with recursive aaa as(select t.id  ,cast(t.name as varchar(100)) from test t  where id='002'union allselectt.id as tid ,cast(a.name || '>' || t.name as varchar(100)) as namefromtest tinner join aaa a ona.id = t.pid
)
select id,name from aaa

4.原理:

WITH recursive  cte_name  AS ( 初始语句(非递归部分) UNION ALL 递归部分语句
)
[ SELECT| INSERT | UPDATE | DELETE]

【注意】with as () 后面必须跟着 [ SELECT| INSERT | UPDATE | DELETE] 语句,否则报错

这篇关于WITH RECURSIVE as 的使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据

在ASP.NET项目中如何使用C#生成二维码

《在ASP.NET项目中如何使用C#生成二维码》二维码(QRCode)已广泛应用于网址分享,支付链接等场景,本文将以ASP.NET为示例,演示如何实现输入文本/URL,生成二维码,在线显示与下载的完整... 目录创建前端页面(Index.cshtml)后端二维码生成逻辑(Index.cshtml.cs)总结

Spring Integration Redis 使用示例详解

《SpringIntegrationRedis使用示例详解》本文给大家介绍SpringIntegrationRedis的配置与使用,涵盖依赖添加、Redis连接设置、分布式锁实现、消息通道配置及... 目录一、依赖配置1.1 Maven 依赖1.2 Gradle 依赖二、Redis 连接配置2.1 配置 R

Python WSGI HTTP服务器Gunicorn使用详解

《PythonWSGIHTTP服务器Gunicorn使用详解》Gunicorn是Python的WSGI服务器,用于部署Flask/Django应用,性能高且稳定,支持多Worker类型与配置,可处... 目录一、什么是 Gunicorn?二、为什么需要Gunicorn?三、安装Gunicorn四、基本使用启

MySQL 临时表创建与使用详细说明

《MySQL临时表创建与使用详细说明》MySQL临时表是存储在内存或磁盘的临时数据表,会话结束时自动销毁,适合存储中间计算结果或临时数据集,其名称以#开头(如#TempTable),本文给大家介绍M... 目录mysql 临时表详细说明1.定义2.核心特性3.创建与使用4.典型应用场景5.生命周期管理6.注

python urllib模块使用操作方法

《pythonurllib模块使用操作方法》Python提供了多个库用于处理URL,常用的有urllib、requests和urlparse(Python3中为urllib.parse),下面是这些... 目录URL 处理库urllib 模块requests 库urlparse 和 urljoin编码和解码

使用Python提取PDF大纲(书签)的完整指南

《使用Python提取PDF大纲(书签)的完整指南》PDF大纲(Outline)​​是PDF文档中的导航结构,通常显示在阅读器的侧边栏中,方便用户快速跳转到文档的不同部分,大纲通常以层级结构组织,包含... 目录一、PDF大纲简介二、准备工作所需工具常见安装问题三、代码实现完整代码核心功能解析四、使用效果控

C#异步编程ConfigureAwait的使用小结

《C#异步编程ConfigureAwait的使用小结》本文介绍了异步编程在GUI和服务器端应用的优势,详细的介绍了async和await的关键作用,通过实例解析了在UI线程正确使用await.Conf... 异步编程是并发的一种形式,它有两大好处:对于面向终端用户的GUI程序,提高了响应能力对于服务器端应

MySQL慢查询工具的使用小结

《MySQL慢查询工具的使用小结》使用MySQL的慢查询工具可以帮助开发者识别和优化性能不佳的SQL查询,本文就来介绍一下MySQL的慢查询工具,具有一定的参考价值,感兴趣的可以了解一下... 目录一、启用慢查询日志1.1 编辑mysql配置文件1.2 重启MySQL服务二、配置动态参数(可选)三、分析慢查

MYSQL中information_schema的使用

《MYSQL中information_schema的使用》information_schema是MySQL中的一个虚拟数据库,用于提供关于MySQL服务器及其数据库的元数,这些元数据包括数据库名称、表... 目录关键要点什么是information_schema?主要功能使用示例mysql 中informa