0

例如,假设我有以下两个表:

表格1:

Id
----
1
2

表2:

Month
------
Jan
Feb

我想使用 SQL 查询将它们组合起来以形成以下输出:

Id        Month
----      -------
1         Jan
1         Feb
2         Jan
2         Feb

有没有办法使用单个查询来做到这一点?

4

3 回答 3

4

它被称为笛卡尔积,如果您不指定连接条件,就会发生这种情况。不过要小心!

SELECT ids.Id, months.Month
FROM ids, months
于 2012-06-26T18:33:17.903 回答
2

正确答案是“交叉连接”:

select *
from t1 cross join j2

交叉连接没有“on”子句。您可以只使用逗号来做同样的事情,但这是一种古老的(希望有一天会被弃用)的 SQL 语法。交叉连接是正确的方法。

于 2012-06-26T18:37:51.453 回答
0

您必须在这两个表之间进行外部连接

于 2012-06-26T18:34:22.127 回答