Tsql2008查询性能优化第一章---APPLY

【Tsql2008查询性能优化第一章---APPLY】于今腐草无萤火,终古垂杨有暮鸦。这篇文章主要讲述Tsql2008查询性能优化第一章---APPLY相关的知识,希望能为你提供帮助。
    APPLY运算符涉及以下两个步骤中的一步或两步(取决于APPLY的类型):                   1.A1把右表表达式应用于左表的行。                   2.A2:添加外部行。           Apply运算符把右表表达式应用左输入中的每一行。右表表达式可以引用左输入中的列,对于左表中的每一行,都要计算一次右边输入的表达式。这一步会把左边的每一行和来自右表达式的相应行进行匹配,并将生成的结果集合并起来,返回组合后的结果。               Cross Apply和OUTER  APPLY总是包含步骤A1,只有OUT APPLY才包含步骤A2。               如果内部(右)表表达式为外部(左)行返回的是空集,则CROSS APPLY不会返回该外部(左)行。而OUTER APPLY会返回这样的行,对于内表表达式的属性,则使用NULL作为其占位符。             例:以下查询返回类别为汽车的两个表中的数据: SELECT  p.[d_id] ,               p.[c_title] ,               p.[e_title] ,               p.[d_time] ,               a.d_title FROM      [DingTai].[dbo].[D_News_Product] AS p               CROSS APPLY               ( SELECT      c.d_id ,                                       d_title ,                                       c.d_time                   FROM          dbo.D_Category AS c                   WHERE        c.d_id = p.class_one                                           --ORDER BY  c.d_id DESC                                 ) AS a   GO ------------------------返回结果---------------------                                    

Tsql2008查询性能优化第一章---APPLY

文章图片
    *如果想返回不包含类为汽车的数据则用OUT APPLY:   SELECT  p.[d_id] ,               p.[c_title] ,               p.[e_title] ,               p.[d_time] ,               a.d_title FROM      [DingTai].[dbo].[D_News_Product] AS p               OUTER APPLY ( SELECT      c.d_id ,                                                               d_title ,                                                               c.d_time                                           FROM          dbo.D_Category AS c                                           WHERE        c.d_id = p.class_one                                           --ORDER BY  c.d_id DESC                                                                                 ) AS a   GO -----------------------结果------------------------------------------------------
Tsql2008查询性能优化第一章---APPLY

文章图片
-----------补充单词知识------------------------------------------------------------
apply 英 [??pla?] 美 [??pla?]
vt. 申请; 涂; 应用,运用; 敷(药);
vi. 申请,请求,适用; 适用,适合; 专心致志;
[例句]I am continuing to apply for jobs 我正在继续找工作。          Copyright ? 2017 程英暾. All Rights Reserved.

    推荐阅读