SQL基础之 - UNION,UNION ALL, EXCEPT, INTERSECT图形小结
在使用UNION与UNION ALL的过程中,多多少少也会接触到不同表之间数据的比较。常常用到的关键字除了UNION与UNION ALL之外还有EXCEPT和INTERSECT之类。
它们的区别在哪里呢?这里总结如下:
- UNION:包括所有结果集中的数据,而且没有重复(所有的重复行都只表现为一个实例,并且对结果进行排序)。
- UNION ALL:包括两个结果集中的所有数据,不论它们中间是否有重复。(不对结果进行排序)。
- EXCEPT:只包括EXCEPT关键字左边且右边的结果集中不存在的那些行。基本上这等同于“显示A中存在,B中不存在的所有行”。
- INTERSECT:只包括两个结果集中都存在的那些行。INTERSECT类似于一个内部联结,不同的是INTERSECT对结果集中重复的行进行操作而不是对某个特定的联结进行操作。
用图形表示如下: