SQL Server 2005中增强型的T-SQL

[ 来源:http://www.it55.com | 作者: | 时间:2007-09-07 | 收藏 | 推荐 ] 【

不管ms对sql server怎么升级,结构怎么调整,事实上T-SQL仍然是我们最为常见的基于Database的编程语言。不单如此,为了使编程人员更容易地使用T-SQL来实现一些较为复杂的功能,SQL Server 2005T-SQL进行了一系列的改进,这篇文章将概括性地介绍这些T-SQL Enhancement

为了使读者对这些新引入的T-SQL特性有一个大概的了解,我先概括性地列出这些特性:

免费矢量图片素材下载http://www.it55.com

  • APPLY Operator
  • Common Table Expression
  • PIVOT Operator
  • TOP Clause Enhancement
  • Ranking
  • DDL Trigger
  • Others

一、            APPLY Operator 45398 http://www.it55.com it55学习IT知识,享受IT生活 4dfkjn

APPLY这个操作符被置于一个查询的FROM语句中,对于查询出的每条数据行,都去调用一个Table Value FunctionTVF),并将TVF的数据附加在现有的查询结果上。APPLY通常用于这样的场景中:查询的结果一部分包含在一个Table或者View,另一部分则通过一个TVF来获得,通过TVF获得的记录是基于Table或者View中每条记录的某个Column的数据,也就是说我们把Table或者View的某个Column的值作为调用TVF的参数。这实际上将通过TVF获得的Table作为现有Table或者ViewOuter table,将它们连接(Join)在一起,而连接它们的Key就是作为TVF参数传入的Column

免费矢量图片素材下载http://www.it55.com

我们知道Join分为Inner JoinOuter Join,他们分别对应着CROSS APPLYOUTER APPLY。如果对于某个条记录,TVF发挥的是一个空的Rowset,对于CROSS APPLY,该记录将不会出现在最终的结果中,而对于OUTER APPLY来说,最终的查询结果将包含该条记录,只是基于TVFColumn的值为NULL 免费网页模版下载http://www.it55.com

可能文字描述太过抽象,我们现在通过例子来进一步理解APPLY Operator。下面的例子基于的DatabaseSQL Server 2005 Sample DatabaseAdventureWorks。(注:后续的例子如未作特殊的说明,均使用的是该

(编辑:IT资讯之家 www.it55.com

网友评论

[以下评论为网友观点,不代表本站。请自觉遵守互联网相关政策法规,所有连带责任均有评论者自负。]
[不超过250字]