SQL 支持把多个查询结果做集合操作,包括合并、相交和取差:
query1 UNION [ALL] query2
query1 INTERSECT [ALL] query2
query1 EXCEPT [ALL] query2
ALL
是可选的,如果没有 ALL
,重复的行会被去除,与 DISTINCT
功能相同;如果有 ALL
则不会被去除。
可以链式使用这些操作:
query1 UNION query2 UNION query3
做集合操作的各个查询结果(query1、query2),它们的列的数量必须是一致的,而且按顺序匹配的列的数据类型需要是相兼容的。