sql语句多个表补齐四位_SQL学习笔记 - CTE通用表表达式和WITH用法
CTE or WITH
WITH语句通常被称为通用表表达式(Common Table Expressions)或者CTEs。
WITH语句作为一个辅助语句依附于主语句,WITH语句和主语句都可以是SELECT,INSERT,UPDATE,DELETE中的任何一种语句。
- A special type of subquery that is declared ahead of your main query.(在主查询之前声明。)
- Named and referenced later in FROM statement.(在FROM语句中按名称引用它,就像它是数据库中的任何其他表一样。)
创建CTE的语法
WITH cte_name AS(CTE_query_definition)注:可以同时定义1个或多个cte,做法是用逗号','隔开,最后一个cte后不跟','。
WITH cte_name1 AS(CTE_query_definition),
cte_name2 AS(CTE_query_definition)...Main query
示例
左图中的例子,在inner join中使用子查询s;右侧将s作为CTE定义在主查询之前,之后可以像使用其他表一样,直接引用s。
Why use CTEs / CTE优点
- Exceted once (仅执行一次,然后存储在内存中,可以提高执行效率)
- CTE is then stored in memory
- Improves query performance
- Improving organization of long & complex queries(提升复杂查询的可阅读性、可维护性)
- Referencing other CTEs(可引用其他的CTE)
- Referencing itself ( SELF JOIN) (可自引用)
你的点赞是我持续更新的动力~ 谢谢 Thanks♪(・ω・)ノ
其他SQL学习笔记 友情链接:
JessieY:SQL学习笔记 - 窗口函数OVERzhuanlan.zhihu.com
JessieY:SQL学习笔记 - CASE WHEN THENzhuanlan.zhihu.com
JessieY:SQL学习笔记 - GROUP BY / JOIN / UNIONzhuanlan.zhihu.com
sql语句多个表补齐四位_SQL学习笔记 - CTE通用表表达式和WITH用法相关推荐
- Oracle中用system存数据,【学习笔记】Oracle表空间 数据存放system表空间影响数据库性能...
天萃荷净 分享一篇,关于Oracle数据库system表空间研究,不能将用户数据存放在system表空间的原因 为什么不建议客户把业务数据存放到SYSTEM表空间中,一直想通过试验的数据来说明问题,今 ...
- 在php中表单传值怎么用,PHP学习笔记 01 之表单传值
一.HTML传值/PHP接收方法 1.GET(地址栏+问号+数据信息) (1)方式一:表单Form: method = 'get' GET接收数据方式: $_GET['表单元素name对应的值] (2 ...
- HTML/CSS学习笔记02【表单标签】
w3cschool菜鸟教程.CHM(腾讯微云):https://share.weiyun.com/c1FaX6ZD HTML/CSS学习笔记01[概念介绍.基本标签.表单标签][day01] HTML ...
- HALCON 20.11:深度学习笔记(7)---术语表
HALCON 20.11:深度学习笔记(7)---术语表 HALCON 20.11.0.0中,实现了深度学习方法.下面,我们将描述深度学习环境中使用的最重要的术语: anchor (锚) Anchor ...
- 陈表达VBA学习笔记-新建工作表鼠标右键菜单按钮
陈表达VBA学习笔记-新建工作表鼠标右键菜单按钮:新建一个我的菜单按钮 设置对应的宏过程名称为 [我的菜单宏] 点击按钮弹窗信息,信息可自定义设置 详细代码如下: Sub 新建右键菜单()Dim 菜单 ...
- 编译原理学习笔记20——符号表
编译原理学习笔记20--符号表 20.1 符号表的组织与操作 20.2 符号表的内容 20.3 利用符号表分析名字的作用域 20.1 符号表的组织与操作 符号表 符号表的作用与组织 符号表的整理和查找 ...
- 《SQL高级应用和数据仓库基础(MySQL版)》学习笔记 ·005【表的CRUD操作(DML语句)】
文章目录 一.表的CRUD操作(DML语句) 1.insert语句 2.update语句 3.delete语句 二.其他注意点 1.MySQL查询区分大小写的方式 2.truncate语句与delet ...
- 《SQL高级应用和数据仓库基础(MySQL版)》学习笔记 ·003【表的约束、表的CRUD操作(DDL语句)】
文章目录 一.表的约束 1.约束类型 2.添加约束 二.表的CRUD操作(DDL语句) 1.C(Create):创建 2.R(Retrieve):查询 3.U(Update):更新 4.D(Delet ...
- SQL语句(二)创建带主键和约束的数据表
内容摘要 创建带主键和约束的表 创建带组合主键和外键的表 1. 创建带主键和约束的表 Student (学生表) CREATE TABLE Student ( sclass varchar(10) N ...
最新文章
- 如果说一个地图是1000*1000那么需要多少内存呢?
- mysql bingip,MySQL报错Ignoring query to other database的真正原因
- Java8 LocalDateTime获取时间戳(毫秒/秒)、LocalDateTime与String互转、Date与LocalDateTime互转
- Yii的Where条件
- 为什么又要造一个叫 Latke 的轮子
- 阿里云mysql服务器太贵_阿里云数据库,跟自己在服务器安装的有什么区别?有人说安装很简单,那为什么要花钱买?...
- 工控系统安全测试平台及攻防验证【会议】
- Redis:Big Key问题
- 【Flink】Flink netty 通讯 PartitionRequestClient NettyPartitionRequestClient
- django-分组聚合查询
- Cmake之基本语法
- Linux signal 那些事儿 (3)
- Proteus中8259的仿真[无dos,纯手工]
- android测试tf卡读写速度,高速TF卡 , 闪迪还是三星?读写速度对比以及上当经历...
- 第二章 原理图绘制与检查
- 玩转HANA数据库的备份与恢复(2020 刘欣)
- html5 indexeddb 排序,HTML5 进阶系列:indexedDB 数据库
- 那些年啊,那些事——一个程序员的奋斗史 ——56
- 计算广告发展历程:从CPC到oCPX
- outlook的archive pst丢失后