Sql Server2005对t-sql的增强之通用表表达式CTE

shiduoxin

shiduoxin

2016-02-19 16:01

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的Sql Server2005对t-sql的增强之通用表表达式CTE,过去的都会过去,迎接崭新的开始,释放更美好的自己。

  CTE是Common Table Expression的简写,翻译成中文就是通用表表达式,它可以在select,insert或者update中使用。

  为了说明问题,我们先随便建张表,插入几条数据:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  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

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  这就是一个最最简单的示例了,这样写出来的分页是不是很简洁?CTE还可以用在insert和update中用法大同小异,就不一一列举。

展开更多 50%)
分享

猜你喜欢

Sql Server2005对t-sql的增强之通用表表达式CTE

编程语言 网络编程
Sql Server2005对t-sql的增强之通用表表达式CTE

SQL Server2005杂谈(1):使用公用表表达式(CTE)简化嵌套SQL

编程语言 网络编程
SQL Server2005杂谈(1):使用公用表表达式(CTE)简化嵌套SQL

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

SQL Server2005杂谈(2):公用表表达式(CTE)的递归调用

编程语言 网络编程
SQL Server2005杂谈(2):公用表表达式(CTE)的递归调用

SQL2005 学习笔记 公用表表达式(CTE)

编程语言 网络编程
SQL2005 学习笔记 公用表表达式(CTE)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

谈SQL Server 2005中的T-SQL增强

SQLServer
谈SQL Server 2005中的T-SQL增强

SQL Server 管理常用的SQL和T-SQL

SQLServer
SQL Server 管理常用的SQL和T-SQL

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

jquery 截取字符串的实现

jquery 截取字符串的实现

SQL Server 2008中的数据压缩功能

SQL Server 2008中的数据压缩功能
下拉加载更多内容 ↓