使用 SQL Anywhere,对您可以连接的表的数目没有固定限制。
在连接两个以上的表时,可以选择使用括号。如果您没有使用括号,SQL Anywhere 会按从左到右的顺序计算语句的值。因此,A JOIN B JOIN C
等效于 ( A JOIN B ) JOIN C
。同样,下面的两个 SELECT 语句是等效的:
SELECT * FROM A JOIN B JOIN C JOIN D; |
SELECT * FROM ( ( A JOIN B ) JOIN C ) JOIN D; |
只要连接两个以上的表,连接就会涉及表表达式。在 A JOIN B JOIN C
示例中,将表表达式 A JOIN B
连接到表 C。这意味着,从理论上讲,首先连接表 A 和表 B,然后结果被连接到 C。
如果表表达式中包含外连接,则连接的顺序是十分重要的。例如,A JOIN B LEFT OUTER JOIN C
被解释为 (A JOIN B) LEFT OUTER JOIN C
。表表达式 A JOIN B
被连接到表 C。表表达式 A JOIN B
是保留的,表 C 是提供空值的。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |