我很难找到解决此问题的方法,因为搜索合并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
问题是我想从两个结构相似的表中找到这些列的不同值,所以我看不出如何使用连接,就好像我加入任何一个值,其他值将会丢失,并且多字段连接似乎不起作用。
答案 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