什么是集合运算
集合在数学领域表示“(各种各样的)事物的总和”,在数据库领域表示记录的集合。具体来说,表、视图和查询的执行结果都是记录的集合
表的加减法
表的加法——UNION
SELECT product_id, product_name
FROM Product
UNION
SELECT product_id, product_name
FROM Product2;
UNION 等集合运算符通常都会除去重复的记录。
■注意事项①——作为运算对象的记录的列数必须相同
■注意事项②——作为运算对象的记录中列的类型必须一致
■注意事项③——可以使用任何SELECT语句,但ORDER BY子句只能在最后使用一次
包含重复行的集合运算——ALL选项
保留重复行
SELECT product_id, product_name
FROM Product
UNION ALL
SELECT product_id, product_name
FROM Product2;
选取表中公共部分——INTERSECT
Oracle SQL Server DB2 PostgreSQL
SELECT product_id, product_name
FROM Product
INTERSECT
SELECT product_id, product_name
FROM Product2
ORDER BY product_id;