sql server 中union的用法

2024-12-04 09:36:34
推荐回答(5个)
回答1:

工具/原料

SQL SERVER 2014   电脑

方法/步骤

1、首先来准备两个select查询,分别查询一个表。

2、用Union将这两个查询连接在一起并且运行SQL语句,出现下图的错误提示,因为Union连接的两个查询,列的数目必须一样。

3、进行修改,让其列的数目一样,还是报错,因为第二个查询中OrderTime是日期类型,而与其对应的第一个查询相应列是字符类型,类型不匹配导致。

4、通过Convert转化一下类型即可。

5、将第一个表和第二个表用Union合并,在将第二个表在和第一个表在Union合并一遍,发现最后一个表没合并进来。若让第三个表也合并进来需要运用Union  All。

6、若项调整合并的表的顺序,用空字符串作为第一个列就可以让第二个表的顺序排到最前面。

7、若I想把合并的表放到一个新表里,则需要在第一个表的后面加Into语句。

回答2:

union就是讲两个查询的结果集合并,有两种用法union和union all,分别是去重复,和不去重复。那位热心网友说反了。应该是下面这样:
select a,b,c from tablea
union
select a,b,c from tableb
结果为tablea与tableb去重后的合集 (不含重复记录)

select a,b,c from tablea
union all
select a,b,c from tableb
结果为tablea与tableb合集(不去重复)

回答3:

select a,b,c from tablea
union all
select a,b,c from tableb
结果为tablea与tableb并集

select a,b,c from tablea
union
select a,b,c from tableb
结果为tablea与tableb的交集

回答4:

select a,b,c from tablea
union all
select a,b,c from tableb
结果为tablea与tableb合集

select a,b,c from tablea
union
select a,b,c from tableb
结果为tablea与tableb去重后的合集

回答5:

楼上的说对、就是合在一起、去掉重复的