• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

当前位置: > 编程与数据库 > mssql2005教程 >

SQLServer APPLY表运算符使用介绍(2)

来源: www.dedecms8.com 编辑:织梦吧 时间:2012-07-01点击:
 
好,前期的数据都已经准备好了,下面让我们试试用OUTER APPLY形式来查询,会出现什么结果。 
执行以下语句: 

代码如下:

SELECT S.id AS SupplierId,S.CompanyName,UnitPrice FROM dbo.Supplier AS S 
OUTER APPLY dbo.fn_top_products(S.id) AS P 


执行结果如下:

   
  注意最后为NULL的记录,reed公司因为没有商品,所以单价为NULL了。
  如果用CROSS APPLY形式,执行以下查询:
代码如下:

SELECT S.id AS SupplierId,S.CompanyName,UnitPrice FROM dbo.Supplier AS S 
CROSS APPLY dbo.fn_top_products(S.id) AS P  


生成的输出结果如下:

    
  大家看出OUTER APPLY和CROSS APPLY的区别了吧。
  再次说一下APPLY的执行过程,它先逻辑计算左表表达式(以上的LargeTable表),然后把右表达式(以上的自定义表值函数Split)应用到左表表达式的每一行。实际是把外部查询的列引用作为参数传递给表值函数。
猜你也喜欢看这些...

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 1170734538@qq.com ,  QQ