从两个没有关系的表中选择

时间:2013-06-17 10:57:44

标签: sql sql-server sql-server-2005

我不知道是否可能。如果可能,请帮我解决这个问题。

我有两个表,table1table2

        table1                                table2
 column1     column2                column3            column4      
    1           2                      A                   B              
    3           4                      C                   D

table1table2之间没有关系。我想执行一个查询,以便我的输出如下所示:

输出表格

  column1      column2       column3       column4
     1            2             A             B
     1            2             C             D
     3            4             A             B
     3            4             C             D

任何人都可以告诉我如何实现这一目标?我们正在使用SQL Server 2005。

谢谢, Kartic

3 个答案:

答案 0 :(得分:0)

喜欢这个吗?

SELECT * FROM table1 CROSS JOIN table2

它被称为交叉连接或笛卡尔积。

您可以使用WHERE添加其他过滤或加入条件。

答案 1 :(得分:0)

这称为cross join,它生成每个表中所有记录的笛卡尔积。使用cross join语法明确地执行此操作的最佳方法是:

select t1.*, t2.*
from table1 t1 cross join
     table2 t2;

请注意,如果任一表为空,则不会返回任何行。

答案 2 :(得分:0)

您需要使用交叉连接。

select t1.*,t2.* from table1 t1
Cross Join table2 t2;