集合:并, 交, 差
集合运算是把两个或多个查询的结果集做并/交/差的集合运算,包含集合运算的查询称为复合查询
并集:
UNION:
返回两个集合的并集,去掉重复数据,默认按返回结果集的第一列升序排列
使用规则:
1)多个查询语句所选择的列数和列的数据类型必须一致,列的名字不必相同
2)如果多个查询结果都有null值,整个结果中只包含一个null值
3)每个查询不能包含自己的order by字句,只能在联合之后使用order by字句
UNION ALL:
两个集合的并集,不去掉重复数据,默认不排序(速度快)
使用规则:
1)多个查询语句所选择的列数和列的数据类型必须一致,列的名字不必相同
2)如果多个查询结果都有null值,不被去掉
3)每个查询不能包含自己的order by字句,只能在联合之后使用order by字句
交集:
INTERSECT:,返回多个查询结果公有行,默认升序排列
使用规则:
1)多个查询语句所选择的列数和列的数据类型必须一致,列的名字不必相同
2)相交运算不忽略空值
差集:
MINUS:返回第一个查询中存在,而第二个查询中不存在的行记录(A集合减去B集合中的记录剩下的记录)
使用规则:
1)多个查询语句所选择的列数和列的数据类型必须一致,列的名字不必相同
2)相减运算不忽略空值
PS:
1)所有的集合运算符与等号的优先级相同
2)相交和相减运算时Oracle特定的