在 PostgreSQL 中,组合查询是指将多个查询结果合并为一个结果集的操作。常见的组合查询操作包括使用 UNION、INTERSECT 和 EXCEPT 运算符。

以下是这些运算符的基本用法:

1. UNION 运算符:

   UNION 用于合并两个或多个查询的结果,并去除重复的行。
   SELECT 列1 FROM 表1
   UNION
   SELECT 列1 FROM 表2;

   例如:
   SELECT name FROM employees
   UNION
   SELECT name FROM contractors;

2. INTERSECT 运算符:

   INTERSECT 用于返回两个查询的交集,即两个查询结果中都存在的行。
   SELECT 列1 FROM 表1
   INTERSECT
   SELECT 列1 FROM 表2;

   例如:
   SELECT name FROM employees
   INTERSECT
   SELECT name FROM contractors;

3. EXCEPT 运算符:

   EXCEPT 用于返回存在于第一个查询结果中但不存在于第二个查询结果中的行。
   SELECT 列1 FROM 表1
   EXCEPT
   SELECT 列1 FROM 表2;

   例如:
   SELECT name FROM employees
   EXCEPT
   SELECT name FROM contractors;

请注意,使用这些组合查询运算符时,两个查询的结果集需要具有相同的列数和相似的数据类型。如果有不同的列数或数据类型,你可能需要对查询进行适当的调整。

此外,还可以使用括号来明确运算符的优先级,以确保组合查询按照你的预期进行操作。


转载请注明出处:http://www.zyzy.cn/article/detail/8143/PostgreSQL