例如,假设我有以下两个表:
表1:
Id
----
1
2
表2:
Month
------
Jan
Feb
我想使用SQL查询组合它们以形成以下输出:
Id Month
---- -------
1 Jan
1 Feb
2 Jan
2 Feb
有没有办法使用单个查询执行此操作?
答案 0 :(得分:4)
它被称为笛卡尔积,如果您没有指定连接条件,它将会出现。但要小心!
SELECT ids.Id, months.Month
FROM ids, months
答案 1 :(得分:2)
正确答案是“交叉加入”:
select *
from t1 cross join j2
交叉连接没有“on”子句。你可以使用逗号做同样的事情,但这是古老的(希望有一天不推荐使用)SQL语法。交叉连接是正确的方法。
答案 2 :(得分:0)
你必须在这两个表之间进行外连接