组合查询:SQL语句中允许执行多个查询(多条SELECT语句),并将结果作为一个查询结果集返回。
1.UNION规则:
1)必须由两条或两条以上的SELECT语句组成,语句之间用UNION分隔;
2)UNION每个查询必须包含相同的列、表达式或聚集函数(每个列不需要以相同的次序列出)
3)列数据类型必须相同:类型不必完全相同,但必须是DBMS可以隐含转换的类型;可以使用cast()函数转化。
2.包含或取消重复的行
1)UNION 从查询结果集中,自动去除重复的行;
2)如果想返回所有匹配的行:
- 使用UNION ALL
3.对组合查询进行排序
因为不存在使用一种方式对一部分进行排序,再使用另一种方式对另一部分进行排序,所以只能使用一个ORDER BY子句。
在最后一条SELECT子句中,使用ORDER BY子句。
4.EXCEPT
EXCEPT:差集,在表1中但不包含同时在表2中的部分;
检索只在第一个表中存在,而在第二个表中不存在的行
5.INTERSECT
INTERSECT:交集,选取表中公共部分
- 默认去除重复部分;
- 改变默认:intersect all