一、CTE 基础概念
CTE(Common Table Expression) 是一种临时命名的结果集,仅在当前 SQL 语句执行期间有效。它通过 WITH关键字定义,用于简化复杂查询、提高可读性,并支持递归操作。
核心特性:
-
临时性:仅存在于定义它的查询中,无法跨会话或存储过程复用。
-
可读性:将复杂查询拆分为逻辑模块,提升代码可维护性。
-
递归支持:通过递归 CTE 处理层级数据(如组织结构、树形目录)。
-
作用域限制:CTE 仅在定义它的
SELECT、INSERT、UPDATE或DELETE语句中可见。
二、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 (

最低0.47元/天 解锁文章
2721

被折叠的 条评论
为什么被折叠?



