联合查询(并集)、交集查询及差集查询

本章将讨论 UNION:联合(并集)查询、INTERSECT :交集查询和EXCEPT:差集查询。

数据准备:

联合查询用于将多个SELECT查询的结果组成一个结果集进行返回。

联合查询必须满足以下条件:所有 SELECT 返回的字段的数据类型、顺序、个数要一致。

示例:

-- 简单示例:组合两张表的数据
SELECT * FROM top_rated_films
UNION
SELECT * FROM most_popular_films;
/*
结果只有5行,因为UNION 删除了1个重复行:title 为 'The Godfather'的行
*/

-- 简单示例:组合两张表的数据,并保留重复行
SELECT * FROM top_rated_films
UNION ALL
SELECT * FROM most_popular_films;

-- 与 ORDER BY 配合
SELECT * FROM top_rated_films
UNION ALL
SELECT * FROM most_popular_films
ORDER BY title;

返回多个结果的交集。

-- 返回两张表中均存在的数据
SELECT *
FROM most_popular_films 
INTERSECT
SELECT *
FROM top_rated_films;

差集查询

SELECT * FROM top_rated_films
EXCEPT 
SELECT * FROM most_popular_films;
要查看完整内容,请先登录