工具/原料
SQL SERVER 2014 电脑
方法/步骤
1、首先来准备两个select查询,分别查询一个表。
2、用Union将这两个查询连接在一起并且运行SQL语句,出现下图的错误提示,因为Union连接的两个查询,列的数目必须一样。
3、进行修改,让其列的数目一样,还是报错,因为第二个查询中OrderTime是日期类型,而与其对应的第一个查询相应列是字符类型,类型不匹配导致。
4、通过Convert转化一下类型即可。
5、将第一个表和第二个表用Union合并,在将第二个表在和第一个表在Union合并一遍,发现最后一个表没合并进来。若让第三个表也合并进来需要运用Union All。
6、若项调整合并的表的顺序,用空字符串作为第一个列就可以让第二个表的顺序排到最前面。
7、若I想把合并的表放到一个新表里,则需要在第一个表的后面加Into语句。
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合集(不去重复)
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的交集
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去重后的合集
楼上的说对、就是合在一起、去掉重复的