SQL CTE(公共表表达式)教程

一、CTE 基础概念

CTE(Common Table Expression)​ 是一种临时命名的结果集,仅在当前 SQL 语句执行期间有效。它通过 WITH关键字定义,用于简化复杂查询、提高可读性,并支持递归操作。

核心特性

  1. 临时性:仅存在于定义它的查询中,无法跨会话或存储过程复用。

  2. 可读性:将复杂查询拆分为逻辑模块,提升代码可维护性。

  3. 递归支持:通过递归 CTE 处理层级数据(如组织结构、树形目录)。

  4. 作用域限制:CTE 仅在定义它的 SELECTINSERTUPDATEDELETE语句中可见。


二、CTE 语法详解

基本语法

WITH cte_name (column1, column2, ...) AS (
    -- 定义 CTE 的查询语句
    SELECT column1, column2 FROM table WHERE condition
)
-- 主查询引用 CTE
SELECT * FROM cte_name;

关键点

  • 列列表:可显式定义列名,也可由子查询自动推断。

  • 多 CTE 组合:用逗号分隔多个 CTE,形成逻辑链:

    WITH cte_stu (stuno,stuname, sex, mobile) AS (
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值