首页 > 数据库 >sql with语句查询 递归查询

sql with语句查询 递归查询

时间:2023-04-19 17:55:51浏览次数:38  
标签:递归 t2 t1 sql 查询 id select

with语句查询可以将一个子查询作为一个结果,相当于一个i临时表多次使用

WITH t1 AS (SELECT 1 AS id,'bird' AS cname) ,
t2 AS (SELECT 1 AS id,'123' AS info) 
SELECT t1.cname,t2.info FROM t1,t2 WHERE t1.id=t2.id;

t1和t2两个临时结果,后续查询可以使用。最后的查询也可以再连接其它的第三个表

WITH RECURSIVE递归查询

机构或部门或类型这种数型数据结构如果给定一个节点查询所有的子节点,包括子子节点。这个时候就用到递归查询。

with recursive temp_org
	as
	(
	     /**--1:初始查询*/
	     select t.id, t.name, t.pid from organ t where t.organ_no = '123'
	     union all
	     /**--2:递归条件*/
	     select m.id, m.name,m.pid from organ m inner join temp_org n on ( m.pid = n.id)
	)
	select  id,name from temp_org

with语法在常见数据库oracle,pg,mysql测试都可以使用,mysql 8.0以下不支持with语句。select version()检查当前数据库版本。oracle在递归查询不需要加recursive。

标签:递归,t2,t1,sql,查询,id,select
From: https://www.cnblogs.com/bird2048/p/17334164.html

相关文章

  • mysql备份脚本
    [root@node1scripts]#catmysql_bak.shBackup_Dir=/data/backup/mysql/dayuser=roothost=localhostpwd=rootif[!-d$Backup_Dir]thenmkdir-p$Backup_DirfiDB_Name=(information_schemaachievements_statistical_utf8mb4adv......
  • Python操作MySQL就是这么简单
    Python操作MySQL就是这么简单下载MySQL8.0安装MySQL8.0步骤2:选择安装类型步骤3:选择安装位置步骤4:配置MySQL8.0步骤5:安装MySQL8.0步骤6:完成安装启动MySQL8.0MySQL8.0的常用命令python的pymysql库操作方法安装pymysql库安装pymysql库连接到MySQL数据库......
  • Mysql操作多表查询的方法
    多表查询是指在关系型数据库中,通过同时查询多个数据表来检索相关数据的操作。这种查询方式通常用于需要在多个数据表中搜索和比较数据的情况,以获取更完整和准确的结果。在多表查询中,使用联接(join)操作将多个表连接在一起,并使用条件语句来指定要检索的数据。联接操作可以使用不同的方......
  • 第五天sql注入随笔
    count*和groupby函数联合使用的时候,查出来的是每个分组里的记录个数1.updataxml函数第一个参数是string格式,是xml文档名字,第二个是xpath,是路径,字符串,第三个是字符串,是替换查找到的符合条件的数据,和extractvalue谁不被过滤用谁 3.floor函数floor是向下取整,而as是取名,比......
  • 普罗米修斯MySQL监控
    1.下载MySQL的exporter下载地址:https://prometheus.io/download/ 2.上传到需要监控的MySQL的机器上进行解压 解压安装tar-xzvfmysqld_exporter-0.14.0.linux-amd64.tar.gz 为了后续使用方便将名称修改为:mysqld_exporterexportDATA_SOURCE_NAME='root:123456......
  • 记一篇SQL笔记
    title:记一篇SQL笔记date:2022-11-1015:02:59cover:https://img2023.cnblogs.com/blog/3177837/202304/3177837-20230419150737994-1755737660.jpgtop_img:https://img2023.cnblogs.com/blog/3177837/202304/3177837-20230419150737994-1755737660.jpgdescription:今天......
  • 递归-leetcode 114
    给你二叉树的根结点 root ,请你将它展开为一个单链表:展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。示例1:输入:root=[1,2,5,3,4,null,6]输出:[1,null,2,null,3,nu......
  • 从申请到调用:全国快递物流查询 API 使用教程
    引言面对越来越多的快递需求和快递公司的日益增多,手动查询快递状态的工作变得愈发繁琐。此时,一个全国快递物流查询API的出现能够极大地提高查询的效率和准确性,解决人工查询的问题,为用户提供更加便捷的服务体验。全国快递物流查询API可以通过接口自动查询快递状态并返回相应信......
  • MySQL 查看数据库表容量大小
    1.查看所有数据库容量大小selecttable_schemaas'数据库',sum(table_rows)as'记录数',sum(truncate(data_length/1024/1024,2))as'数据容量(MB)',sum(truncate(index_length/1024/1024,2))as'索引容量(MB)'frominformation_schema.t......
  • NULL值引入导致新增的unknown逻辑值 以及 SQL server中ANSI_NULLS的使用
    部分参考文章:https://www.bbsmax.com/A/A7zgEOVl54/ [BBSMAX]Lumia1020 2022-11-08https://www.cnblogs.com/SFAN/p/4343703.htmlcnblogs@ sunnyboy 2015-03-1710:17wikipedia三值逻辑:https://zh.wikipedia.org/wiki/%E4%B8%89%E5%80%BC%E9%80%BB......