SQL: Queries: Combining Queries

 10th April 2021 at 8:18pm

SQL 支持把多个查询结果做集合操作,包括合并、相交和取差:

query1 UNION [ALL] query2
query1 INTERSECT [ALL] query2
query1 EXCEPT [ALL] query2

ALL 是可选的,如果没有 ALL,重复的行会被去除,与 DISTINCT 功能相同;如果有 ALL 则不会被去除。

可以链式使用这些操作:

query1 UNION query2 UNION query3

做集合操作的各个查询结果(query1、query2),它们的列的数量必须是一致的,而且按顺序匹配的列的数据类型需要是相兼容的。

参考