文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>SQL Server 2005 T-SQL学习笔记:APPLY

SQL Server 2005 T-SQL学习笔记:APPLY

时间:2010-08-21  来源:alen88


概念:使用 APPLY 运算符可以为实现查询操作的外部表表达式返回的每个行调用表值函数。表值函数作为右输入,外部表表达式作为左输入。通过对右输入求值来获得左输入每一行的计算结果,生成的行被组合起来作为最终输出。APPLY 运算符生成的列的列表是左输入中的列集,后跟右输入返回的列的列表。

APPLY 有两种形式: CROSS APPLY 和 OUTER APPLY。CROSS APPLY 仅返回外部表中通过表值函数生成结果集的行。OUTER APPLY 既返回生成结果集的行,也返回不生成结果集的行,其中表值函数生成的列中的值为 NULL的列集,后跟右输入返回的列的列表。


 

 示例:

 

USE AdventureWorks
 GO
--Returning a TABLE
CREATE FUNCTION fn_getcustomerorders(@CustomerID int, @TopRecords bigint)
RETURNS TABLE
 AS RETURN
  SELECT TOP (@TopRecords) *
  FROM Sales.SalesOrderHeader
  WHERE CustomerID = @CustomerID
  ORDER BY OrderDate DESC


-- Executing query with APPLY
SELECT * FROM Sales.Customer cust
CROSS APPLY fn_getcustomerorders(cust.CustomerID, 647)

没有OrderHeader的客户,表函数将返回NULL

排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载