[ 来源:http://www.it55.com | 作者: | 时间:2007-09-07 | 收藏 | 推荐 ] 【大 中 小】
不管ms对sql server怎么升级,结构怎么调整,事实上T-SQL仍然是我们最为常见的基于Database的编程语言。不单如此,为了使编程人员更容易地使用T-SQL来实现一些较为复杂的功能,SQL Server 2005在T-SQL进行了一系列的改进,这篇文章将概括性地介绍这些T-SQL Enhancement。
为了使读者对这些新引入的T-SQL特性有一个大概的了解,我先概括性地列出这些特性:
免费矢量图片素材下载http://www.it55.com
一、 APPLY Operator 45398 http://www.it55.com it55学习IT知识,享受IT生活 4dfkjn
APPLY这个操作符被置于一个查询的FROM语句中,对于查询出的每条数据行,都去调用一个Table Value Function(TVF),并将TVF的数据附加在现有的查询结果上。APPLY通常用于这样的场景中:查询的结果一部分包含在一个Table或者View中,另一部分则通过一个TVF来获得,通过TVF获得的记录是基于Table或者View中每条记录的某个Column的数据,也就是说我们把Table或者View的某个Column的值作为调用TVF的参数。这实际上将通过TVF获得的Table作为现有Table或者View的Outer table,将它们连接(Join)在一起,而连接它们的Key就是作为TVF参数传入的Column。
我们知道Join分为Inner Join和Outer Join,他们分别对应着CROSS APPLY和OUTER APPLY。如果对于某个条记录,TVF发挥的是一个空的Rowset,对于CROSS APPLY,该记录将不会出现在最终的结果中,而对于OUTER APPLY来说,最终的查询结果将包含该条记录,只是基于TVF的Column的值为NULL。 免费网页模版下载http://www.it55.com
可能文字描述太过抽象,我们现在通过例子来进一步理解APPLY Operator。下面的例子基于的Database是SQL Server 2005 的Sample Database:AdventureWorks。(注:后续的例子如未作特殊的说明,均使用的是该
(编辑:IT资讯之家 www.it55.com)