两个表的交叉连接生成来自这两个表的各行的所有可能组合。交叉连接也称作矢量积或笛卡儿积。
第一个表的每一行针对第二个表的每一行都出现一次。因此,结果集中的行数是第一个表中的行数与第二个表中的行数相乘、然后减去由于 WHERE 子句中的限制而省略的所有行数而得出的。
您不能将 ON 短语与交叉连接一起使用。但是,您可以将限制放置于 WHERE 子句中。
除了 WHERE 子句中存在的额外限制,两个表中的所有行都始终出现在交叉连接的结果集中。因此,INNER、LEFT OUTER 和 RIGHT OUTER 关键字不适用于交叉连接。
例如,以下语句连接两个表。
SELECT * FROM A CROSS JOIN B
来自此查询的结果集包括 A 中的所有列和 B 中的所有列。A 的任一行和 B 的任一行的每一组合在结果集中均有一行。如果 A 具有 n 行,B 具有 m 行,则查询返回 n x m 行。
SQL Anywhere Studio 9.0.2
版权所有 © 1989–2005 Sybase, Inc. 部分版权所有 © 2001–2005 iAnywhere Solutions, Inc. 保留所有权利。