sql - apply运算符用法

sql - apply运算符用法

ID:14172039

大小:50.50 KB

页数:4页

时间:2018-07-26

sql - apply运算符用法_第1页
sql - apply运算符用法_第2页
sql - apply运算符用法_第3页
sql - apply运算符用法_第4页
资源描述:

《sql - apply运算符用法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、使用APPLYAPPLY运算符的左操作数和右操作数都是表表达式。这些操作数之间的主要区别是,right_table_source可以使用表值函数,从left_table_source获取一个列作为函数的参数之一。left_table_source可以包括表值函数,但不能以来自right_table_source的列作为参数。APPLY运算符通过以下方式工作,以便为FROM子句生成表源:1.对left_table_source的每行计算right_table_source的值来生成行集。right_table_source中的值依

2、赖于left_table_source。right_table_source可以按以下方式近似表示:TVF(left_table_source.row),其中,TVF是表值函数。2.通过执行UNIONALL操作,将计算right_table_source的值时为每行生成的结果集与left_table_source组合起来。APPLY运算符的结果生成的列的列表是来自left_table_source(与来自right_table_source的列的列表相组合)的一组列。SQLServer2008联机丛书使用APPLY访问和更改数据

3、库数据>查询基础知识>使用FROM子句>使用APPLY运算符可以为实现查询操作的外部表表达式返回的每个行调用表值函数。表值函数作为右输入,外部表表达式作为左输入。通过对右输入求值来获得左输入每一行的计算结果,生成的行被组合起来作为最终输出。APPLY运算符生成的列的列表是左输入中的列集,后跟右输入返回的列的列表。注意:若要使用APPLY,数据库兼容级别必须为90。APPLY有两种形式:CROSSAPPLY和OUTERAPPLY。CROSSAPPLY仅返回外部表中通过表值函数生成结果集的行。OUTERAPPLY既返回生成结果集的行

4、,也返回不生成结果集的行,其中表值函数生成的列中的值为NULL。例如,考虑下列表Employees和Departments:--CreateEmployeestableandinsertvalues.CREATETABLEEmployees(empidintNOTNULL,mgridintNULL,empnamevarchar(25)NOTNULL,salarymoneyNOTNULLCONSTRAINTPK_EmployeesPRIMARYKEY(empid));GOINSERTINTOEmployeesVALUES(1,NU

5、LL,'Nancy',$10000.00);INSERTINTOEmployeesVALUES(2,1,'Andrew',$5000.00);INSERTINTOEmployeesVALUES(3,1,'Janet',$5000.00);INSERTINTOEmployeesVALUES(4,1,'Margaret',$5000.00);INSERTINTOEmployeesVALUES(5,2,'Steven',$2500.00);INSERTINTOEmployeesVALUES(6,2,'Michael',$2500.00

6、);INSERTINTOEmployeesVALUES(7,3,'Robert',$2500.00);INSERTINTOEmployeesVALUES(8,3,'Laura',$2500.00);INSERTINTOEmployeesVALUES(9,3,'Ann',$2500.00);INSERTINTOEmployeesVALUES(10,4,'Ina',$2500.00);INSERTINTOEmployeesVALUES(11,7,'David',$2000.00);INSERTINTOEmployeesVALUES(

7、12,7,'Ron',$2000.00);INSERTINTOEmployeesVALUES(13,7,'Dan',$2000.00);INSERTINTOEmployeesVALUES(14,11,'James',$1500.00);GO--CreateDepartmentstableandinsertvalues.CREATETABLEDepartments(deptidINTNOTNULLPRIMARYKEY,deptnameVARCHAR(25)NOTNULL,deptmgridINTNULLREFERENCESEmpl

8、oyees);GOINSERTINTODepartmentsVALUES(1,'HR',2);INSERTINTODepartmentsVALUES(2,'Marketing',7);INSERTINTODepartmentsVALUES(3,'Finance'

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。