当您希望将几个相似的选择查询返回的所有数据一起作为一个合并的集合查看时,便可以使用 UNION 运算符。
UNION 运算符让您将两个 SELECT 语句合二为一。合并的 SELECT 语句必须具有相同的输出字段数、采用相同的顺序并包含相同或兼容的数据类型。在运行查询时,来自每组相应字段的数据将合并到一个输出字段中,这样查询输出所包含的字段数将与每个 Select 语句相同。
注释 根据联合查询的目的,“数字”和“文本”数据类型兼容。
使用 UNION 运算符时,还可以通过使用 ALL 关键字指定查询结果是否应包含重复行(如果存在)。
对于合并了两个 SELECT 语句的联合查询,其基本 SQL 语法如下:
SELECT_field_1
FROM_table_1
UNION_[ALL]
SELECT_field_a
FROM_table_a
;
例如,假设您有两个表,分别名为“产品”和“服务”。这两个表都具有包含下列内容的字段:产品或服务的名称、价格、保修或担保条款以及是否以独占方式提供产品或服务。虽然“产品”表存储了保修信息,而“服务”表存储了担保信息,但基本信息是相同的(即特定的产品或服务是否包括质量承诺)。您可以使用下面这样的联合查询将这两个表中的四个字段合并在一起:
SELECT_name, price, warranty_available, exclusive_offer
FROM_Products
UNION_ALL
SELECT_name, price, guarantee_available, exclusive_offer
FROM_Services