sql server 、mysql CTE 公用表表达式

sql server

详细
在这里插入图片描述
在这里插入图片描述

mysql CTE

CTE 是一个命名的临时结果集,作用范围是当前语句。CTE可以理解成一个可以复用的子查询,当然跟子查询还是有点区别的,CTE可以引用其他CTE,但子查询不能引用其它子查询。所以,开发中建议CTE代替子查询,效率比子查询高
CTE 相当于 是 会话级别的 用户变量
子查询 相当于 局部变量的。
CTE 分两种

  1. 普通公用表表达式
  2. 递归公用表达式

普通CTE

with CTE 名称
as
( 子查询 )

递归CTE

with recursive CTE 名称
as
( 子查询 )

递归公用表表达式由2部分组成分别是种子查询和递归查询。中间用关键字 UNION [ALL] 连接
种子查询,是递归的初始值,这个查询只会运行一次,已创建初始数据集,之后递归查询会一直执行,直到没有任何新的查询数据产生,递归返回。

在这里插入图片描述

优点

公用表表达式的作用是可以替代子查询,而且可以被多次引用。
递归CTE 对查询有一个共同的根节点的树形结构数据非常高效。
比如 菜单数据表, 员工组织架构表

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OLED效果设计笔记1:显示横向滚动字幕

本文使用芯片:STM32 F103 C8T6 最小系统板 从这个笔记开始,学习一下OLED的一些显示动画效果的实现,尝试自己能够做出一些接近实际产品的界面切换,动画效果设计~ 文章提供源码,测试效果图,原理介绍&#x…

基于SSM+vue框架的校园代购服务订单管理系统源码和论文

基于SSMvue框架的校园代购服务订单管理系统源码和论文070 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 摘 要 在新发展的时代,众多的软件被开发出来,给用户带来了很大的选择余地&am…

Ribbon:使用Ribbon实现负载均衡

Ribbon实现的是实线走的 建立三个数据库 /* SQLyog Enterprise v12.09 (64 bit) MySQL - 5.7.25-log : Database - db01 ********************************************************************* *//*!40101 SET NAMES utf8 */;/*!40101 SET SQL_MODE*/;/*!40014 SET OLD_UNIQ…

app.js和页面.js 实现全局传参

实现全局传参的几个步骤:1. 在页面.js文件中 输入 const appgetApp() 2.便可以在页面中引用app.js中的globalData中的数据。 注意点:app.js中是使用的是this.globalData (调用自身的数据) 页面.js中使用的是app.globalData(引用ap…

学习ts(九)混入

对象混入 使用Object.assign()进行对象混入,最后的people会被识别为三种类型的联合类型 类混入 使用implement并非extnds实现混入。 属性在混入类里面定义,分别在类中占位,方法分别在类中定义,在混合类中占位。这告诉编译器这…

DataFrame.set_index()方法--Pandas

1.函数功能 为DataFrame重新设置索引(行标签) 2. 函数语法 DataFrame.set_index(keys, *, dropTrue, appendFalse, inplaceFalse, verify_integrityFalse)3. 函数参数 参数含义keys作为行标签的列名,可以DataFrame中的是单个列或者多列组…

【线程池】ThreadPoolExecutor的使用示例

文章目录 通过ThreadPoolExecutor创建线程池。线程的处理结果如何获取? 通过ThreadPoolExecutor创建线程池。 ThreadPoolExecutor构造方法参数: int corePoolSize //核心线程数量int maximumPoolSize//最大线程数long keepAliveTime//当线程数大于核心…

drools8尝试(加单元测试)

drools8的maven模板项目里没有单元测试, 相比而言drools7有个非常好的test senorios 那就自己弄一个 文件是.http后缀的,写了个简单的例子如下 //测试交通违章 POST http://localhost:8080/Traffic Violation accept: application/json Content-Type: application/json{&q…

STM32--SPI通信与W25Q64(1)

文章目录 前言SPI通信硬件电路移位过程 SPI时序起始与终止条件交换一个字节 W25Q64硬件电路框图 FLASH操作注意事项软件SPI读写W25Q64 前言 USART串口链接入口 I2C通信链接入口 SPI通信 SPI(Serial Peripheral Interface)是一种高速的、全双工、同步的串…

Java中HashMap的基本介绍和详细讲解,HashMap的遍历以及HashMap的底层源码的分析

HashMap 基本介绍 HashMap 是 Java 中的一个集合类,实现了 Map 接口,用于存储键值对(key-value)数据。它基于哈希表的数据结构实现,可以实现高效的查找、插入和删除操作。 HashMap 细节讨论 无序性: Has…

Python高光谱遥感数据处理与高光谱遥感机器学习方法应用

本文提供一套基于Python编程工具的高光谱数据处理方法和应用案例。 本文涵盖高光谱遥感的基础、方法和实践。基础篇以学员为中心,用通俗易懂的语言解释高光谱的基本概念和理论,旨在帮助学员深入理解科学原理。方法篇结合Python编程工具,专注…

【C++】list

list 1. 简单了解list2. list的常见接口3. 简单实现list4. vector和list比较 1. 简单了解list list的底层是带头双向循环列表。因此list支持任意位置的插入和删除,且效率较高。但其缺陷也很明显,由于各节点在物理空间是不连续的,所以不支持对…

thinkphp安装workman

需要加版本,版本太高了不行 composer require topthink/think-worker1.0.*

Github的使用指南

首次创建仓库 1.官网创建仓库 打开giuhub官网,右上角点击你的头像,随后点击your repositories 点击New开始创建仓库 如下图为创建仓库的选项解释 出现如下界面就可以进行后续的git指令操作了 2.git上传项目 进入需上传项目的所在目录,打开…

keepalived+haproxy 搭建高可用高负载高性能rabbitmq集群

一、环境准备 1. 我这里准备了三台centos7 虚拟机 主机名主机地址软件node-01192.168.157.133rabbitmq、erlang、haproxy、keepalivednode-02192.168.157.134rabbitmq、erlang、haproxy、keepalivednode-03192.168.157.135rabbitmq、erlang 2. 关闭三台机器的防火墙 # 关闭…

自动控制原理笔记-采样控制系统

目录 采样控制系统的基本概念: 采样过程及采样定理: 一、采样过程 二、采样定理(香农采样定理、奈奎斯特采样定律) 三、信号复现 四、零阶保持器 z变换与z反变换: z变换的定义 z变换基本定理 z反变换 采样系…

gorm中正确的使用json数据类型

一、说明 1、JSON 数据类型是 MySQL 5.7.8 开始支持的。在此之前,只能通过字符类型(CHAR,VARCHAR 或 TEXT )来保存 JSON 文档。现实中也很多人不会采用json的存储方式,直接定义一个字符类型,让前端转换传递进来,返回给…

HTTPS协议加密原理

目录 一、什么是HTTPS 二、什么是加密/解密 三、为什么要加密 四、常见的加密方式 1.对称加密 2. 非对称加密 五、HTTPS加密方式探讨 1.只使用对称加密 2.只使用非对称加密 3.非对称加密对称加密 4.非对称加密对称加密CA认证 六、总结 一、什么是HTTPS HTTP 协议&a…

vue3+element下拉多选框组件

<!-- 下拉多选 --> <template><div class"select-checked"><el-select v-model"selected" :class"{ all: optionsAll, hidden: selectedOptions.data.length < 2 }" multipleplaceholder"请选择" :popper-app…

git及GitHub的使用

文章目录 git在本地仓库的使用github使用创建仓库https协议连接(不推荐&#xff0c;现在用起来比较麻烦)ssh连接&#xff08;推荐&#xff09;git分支操作冲突处理忽略文件 git在本地仓库的使用 1.在目标目录下右键打开git bash here 2.创建用户名和邮箱(注&#xff1a; 下载完…