Sql Server2005对t-sql的增强之通用表表达式CTE
CTE是Common Table Expression的简写,翻译成中文就是通用表表达式,它可以在select,insert或者update中使用。
为了说明问题,我们先随便建张表,插入几条数据:
if object_id('t','U') is not null --用object_id函数判断表是否在数据库中存在很简洁
drop table t;
GO
create table t(c1 int,c2 decimal,c3 int);
GO
INSERT INTO t
SELECT c1 = 1,c2 = 5.0,c3=10
UNION
SELECT c1 = 2,c2 = 5.5,c3=10
UNION
SELECT c1 = 3,c2 = 5.0,c3=20
UNION
SELECT c1 = 4,c2 = 5.5,c3=20
--下面我们使用CTE写一个分页的sql语句
GO
WITH t_cn AS
(
select c1,c2,c3,rn = ROW_NUMBER() OVER(ORDER BY c1 DESC) FROM t WHERE 0 = 0 --可以在此处添加一些条件
)
SELECT c1,c2,c3 FROM t_cn WHERE rn between 2 and 3
SELECT totalCn = COUNT(*) FROM t WHERE 0 = 0
这就是一个最最简单的示例了,这样写出来的分页是不是很简洁?CTE还可以用在insert和update中用法大同小异,就不一一列举。
分类:
数据库
, sql server
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架