合并SQL中相同表的列

时间:2016-04-29 11:00:30

标签: sql select

我很难找到解决此问题的方法,因为搜索合并SQL列或从表中添加列会产生各种我不想要的结果。用一个例子说明我就容易多了。

我有两张桌子:

表1

ColA  ColB  ColC
0     A     AL
1     B     DZ

表2

ColA  ColB  ColC
2     C     IS
3     D     KA

我想合并这些表,因此类似的列基本上是组合在一起的,所以我得到了一个具有相同结构和所有值的新表。所以输出将是:

输出

ColA  ColB  ColC
0     A     AL
1     B     DZ
2     C     IS
3     D     KA

问题是我想从两个结构相似的表中找到这些列的不同值,所以我看不出如何使用连接,就好像我加入任何一个值,其他值将会丢失,并且多字段连接似乎不起作用。

4 个答案:

答案 0 :(得分:7)

如果要保留重复的行,可以使用UNION ALL,如果要从结果集中删除重复的行,可以在以下内容中使用UNION

SELECT ColA, ColB, ColC
FROM Table1

UNION ALL

SELECT ColA, ColB, ColC
FROM Table2 

请注意UNION ALL工作速度超过UNION

答案 1 :(得分:1)

select ColA, ColB, ColC from table1
union 
select ColA, ColB, ColC from table2 

答案 2 :(得分:1)

union运算符允许您将一个查询的结果放在另一个查询之后,并消除重复:

SELECT cola, colb, colc
FROM   table1
UNION
SELECT cola, colb, colc
FROM   table2

答案 3 :(得分:1)

select ColA, ColB, ColC from table1
union 
select ColA, ColB, ColC from table2 

您也可以使用UNION ALL