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

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

 

交叉连接

两个表的交叉连接生成来自这两个表的各行的所有可能组合。交叉连接也称作矢量积或笛卡儿积。

第一个表的每一行针对第二个表的每一行都出现一次。因此,结果集的行数等于第一个表的行数与第二个表的行数的乘积减去因 WHERE 子句中的限制而省略的行数。

您不能将 ON 子句与交叉连接一起使用。但是,您可以将限制放置于 WHERE 子句中。

内部修饰符和外部修饰符不适用于交叉连接

除了 WHERE 子句中存在的附加限制,两个表中的所有行都始终出现在交叉连接的结果集中。因此,INNER、LEFT OUTER 和 RIGHT OUTER 关键字不适用于交叉连接。

例如,以下语句连接两个表。

SELECT *
FROM A CROSS JOIN B;

来自此查询的结果集包括 A 中的所有列和 B 中的所有列。A 的任一行和 B 的任一行的每一组合在结果集中均有一行。如果 A 有 n 行,B 有 m 行,则查询返回 nxm 行。


逗号