数据库中的表(table)本质上就是由行(row)组成的集合。因此,PostgreSQL 同样支持集合论中的集合操作,包括并集(UNION)、交集(INTERSECT)和差集(EXCEPT):
UNION
操作符用于将两个查询结果合并成一个结果集,返回出现在第一个查询或者出现在第二个查询中的数据;INTERSECT
操作符用于返回两个查询结果中的共同部分,即同时出现在第一个查询结果和第二个查询结果中的数据;EXCEPT
操作符用于返回出现在第一个查询结果中,但不在第二个查询结果中的数据。
这三个操作符的作用如下图所示:
集合操作符要求参与运算的两个查询结果具有相同数量的列,以及对应列的类型必须匹配或兼容。