分布式连接两个表

时间:2015-02-20 18:49:21

标签: sql sql-server select

我并不是100%肯定如何表达这个问题,但我非常想尝试这样做:

说我有两张桌子:

表a:

a1
a2

和 表b:

b1
b2

我想将它们组合起来并创建一个表格,如:

a1 b1
a1 b2
a2 b1
a2 b2

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

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

3 个答案:

答案 0 :(得分:4)

您要查找的语法是cross join

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

答案 1 :(得分:0)

您不需要任何循环。

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

你可以这样做:

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

或:

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

答案 2 :(得分:0)

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

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

注意:默认为交叉连接,因此无需定义关键字交叉连接。