猿问

SQL把查询出的多个表的结果行连接起来

表1

id int

name nvarchar(50)

...

表2

id int

name nvarchar(50)

...

其中表1和表2中的记录没有交叉,而且表1和表2除了id和name外其他列都是不同名不同义的,比如:

表1

1  name1 ........

2  name2 ........

表2

100  name100 ......

101  name101 ......

下面我想要一次查询出以下结果:

id      name

1      name1

2      name2

100  name100

101  name101

请问可行否,该怎么做?

忽然笑
浏览 1027回答 5
5回答

慕尼黑8549860

不同列数的UNION问题,虽然我没问,但是用的时候也遇到了,谢谢你。

UYOU

select 表1.id as id  ,表1.name as name from 表1,表2 where 表1.id=表2.id  union select id,name from 表1 where id not in (select id from 表2) union select id,name from 表2 where id not in (select id from 表1)

互换的青春

取迪卡尔积了,这个通常是要避免的,还是谢谢你。
随时随地看视频慕课网APP

相关分类

SQL Server
我要回答