如何编写SQL查询来处理2个表之间的数据?

时间:2016-10-27 16:10:21

标签: sql sql-server database

我有一个用例以特定方式查询2个表。

两个表都有一列。

表1第1栏:

A
B
C

表2第1栏:

1
2
3

我需要构建一个查询,使其看起来如下所示:

A 1
A 2
A 3
B 1
B 2
B 3
...

这在MS SQL Server中是否可行?

谢谢,

3 个答案:

答案 0 :(得分:4)

它被称为CROSS JOIN

Select t1.column1,t2.column1 from Table1 t1
CROSS JOIN Table2 t2

它将在两个表之间生成笛卡尔积。

答案 1 :(得分:1)

解决方案1(标准化样式):

  Select t1.column1,t2.column1 from Table1 t1 CROSS JOIN Table2 t2

解决方案2(旧式):

  Select t1.column1,t2.column1 from Table1 t1 , Table2 t2 

解决方案3(疯狂风格):

  Select t1.column1,t2.column1 from Table1 t1 inner join Table2 t2 on 1=1

我最喜欢的当然是交叉加入

答案 2 :(得分:1)

SELECT Tbl1.column1,Tbl1.column1 FROM Table1 Tbl1
CROSS JOIN Table2 Tbl2
ORDER BY Tbl1.column1