分布式连接两个表

Concatenating two tables distributively

我不是 100% 确定如何表述这个问题,但我非常想这样做:

假设我有两个 tables:

table一个:

a1
a2

和 table b:

b1
b2

我想将它们组合起来并创建一个 table 例如:

a1 b1
a1 b2
a2 b1
a2 b2

(对于 table a 中的每一行,在 table b 中创建行数)

我想我可以使用某种循环来做到这一点,但我想知道是否有任何方法可以用集合逻辑来做到这一点?

您要查找的语法是 cross join:

SELECT     a.*, b.*
FROM       a
CROSS JOIN b

您不需要任何循环。

这是 SQL 中的一项非常简单的任务。

你可以这样做:

select a.*, b.*
from a
cross join b

或:

select a.*, b.*
from a
inner join b on (1=1)

无需循环,只需简单的一行查询即可。

SELECT a.*, b.* FROM a,b

注意:默认是cross join,不需要定义关键字cross join。