如何加入2表

时间:2018-05-04 06:42:47

标签: sql sql-server database tsql

我遇到了麻烦。如何加入2表查询。如果数据表:

表1: 客户ID:1,2,3,4,5

客户代码:cus1,cus9,cus4,null,null

客户名称:roya,almudena,jack,jane,Francisco

表2: 客户ID:1,2,3,4

客户代码:cus1,cus2,cus9,null

客户名称:roya,jose,almudena,jane

问:什么是查询以显示2个表中的所有名称(无重复名称)。

感谢您的回答。

3 个答案:

答案 0 :(得分:2)

您不需要JOIN,需要UNION声明

select distinct name from table1
union
select distinct name from table2

如果您使用union all,则会创建重复项,但union本身不会。

如果您想要更加安全,也可以将其包裹在select distinct name from ()中。

答案 1 :(得分:1)

如果每个表中没有重复的名称(如示例数据中所示),我强烈建议:

select t1.customername
from table1 t1
union all
select t2.customername
from table2 t2
where not exists (select 1 from table1 t1 where t1.customername = t2.customername);

这应该有更好的表现。

答案 2 :(得分:0)

使用union语句:

select distinct Customername from table1
union
select distinct Customername from table2