apply 表达式是一种指定右侧取决于左侧的连接的简单方式。例如,使用一个 apply 表达式来计算过程或派生表,在表表达式中每行计算一次。apply 表达式位于 SELECT 语句的 FROM 子句中,不允许使用 ON 子句。
APPLY 组合多个源的行,类似于 JOIN,只不过不能为 APPLY 指定 ON 条件。APPLY 和 JOIN 之间的主要差别在于 APPLY 的右侧可以根据左侧的当前行发生改变。针对左侧各行,重新计算右侧,生成的行与左侧的行连接。在左侧的行在右侧返回多个行的情况下,右侧返回多少行,左侧就在结果中重复多少次。
您可以指定两种类型的 APPLY:CROSS APPLY 和 OUTER APPLY。CROSS APPLY 仅在左侧返回可在右侧产生结果的行。OUTER APPLY 返回所有 CROSS APPLY 返回的行,还在左侧返回不能在右侧返回行的所有行(通过为右侧提供 NULL)。
apply 表达式的语法如下:
table-expression { CROSS | OUTER } APPLY table-expression
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |