两个子查询进行集合运行, 条件就是两个查询的字段个数一致,类型一致,字段名可以不同。
SQL> select * from ta;
ID NAME
---------- --------------------
1 gorey
2 gorey2
SQL> select * from tb;
ID ADDRESS
---------- --------------------
2 g2
3 g3
2 gorey2
SQL> select * from ta union select * from tb;
ID NAME
---------- --------------------
1 gorey
2 g2
2 gorey2
3 g3
■union小结: 左集合+右集合, 但是有重复行的情况只显示一行。相当于有DISTINCT
SQL> select * from ta intersect select * from tb;
ID NAME
---------- --------------------
2 gorey2
■intersect 小结: 没有多话,取交集
SQL> select * from ta minus select * from tb;
ID NAME
---------- --------------------
1 gorey
■minus 小结: 左集 - 左右集的交集。
SQL> select * from ta union all select * from tb;
ID NAME
---------- --------------------
1 gorey
2 gorey2
2 g2
3 g3
2 gorey2
■union all 小结: 注意,这个和union 不同, all加上的话,意思是union里的重复行不省略。会全部显示。
本文详细介绍了SQL中的集合运算包括UNION、INTERSECT、MINUS和UNION ALL,并通过具体的例子展示了这些运算符如何帮助去除重复数据、获取交集、求差集以及保留所有重复项。
2120

被折叠的 条评论
为什么被折叠?



