如何取下面两段SQL的并集呢?请看截图

0
如何取下面两段SQL的并集呢?请看截图
QQ图片20150906134331.jpg
已邀请:
1

- 取是能力,舍是境界 2015-09-06 回答

并集:union [all]
select a,b from tb
union [all]
select a,b from tb1
加all结果会保留重复记录,不加会过滤重复
 
差集:except
语法同上
 
交集:intersect
语法同上
1

BIWORK - 热衷于微软BI技术,技术架构和解决方案! 2015-09-06 回答

参照一下这幅图
111001_01.jpg

UNION: 将多个「结果集 (result set)」的「行 (row)」合并,作为单个结果集返回,并移除重复的行。若有重复的行,只留下一个。
UNION ALL: 将多个「结果集 (result set)」所有的行合并,不论是否有重复的行。
EXCEPT: 提取只在 EXCEPT 左侧存在,但右侧不存在的行,参考下图 1。用更口语化的说法:「只给我 A 里才有,但 B 里没有的行」。
INTERSECT: 只提取两个结果集里,都存在的行。 INTERSECT 很类似 inner join,但 INTERSECT 并不会对特定的「列 (column)」去做处理。
具体的再看看这篇文章 http://www.cnblogs.com/WizardWu/archive/2011/10/01/2197147.html
  

要回复问题请先登录注册