Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (中文) » SQL Anywhere 服务器 - SQL 用法 » 查询和数据修改 » 连接:从多个表检索数据 » 专用连接

 

从 apply 表达式生成的连接

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
 示例
 另请参见