UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
UNION 语法:
SELECT 列名 FROM 表A
UNION
SELECT 列名 FROM 表B;
📢注意: UNION 操作符默认为选取不同的值。如果查询结果需要显示重复的值,请使用 UNION ALL。
UNION ALL 语法:
SELECT 列名 FROM 表A
UNION ALL
SELECT 列名 FROM 表B;
另外,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。
举例:
为了实验所需,创建 Person_b 表:
CREATE TABLE Persons_b
(
Id_P int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
INSERT INTO Persons_b VALUES (1, 'Bill', 'Gates', 'Xuanwumen 10', 'Londo');
INSERT INTO Persons_b VALUES (2, 'John', 'Adams', 'Oxford Street', 'nBeijing');
INSERT INTO Persons_b VALUES (3, 'George', 'Bush', 'Fifth Avenue', 'Beijing');
INSERT INTO Persons_b VALUES (4, 'Thomas', 'Carter', 'Changan Street', 'New York');
INSERT INTO Persons_b VALUES (5, 'William', 'Carter', 'Xuanwumen 10', 'Beijing');
select * from persons_b;
实例:
使用 UNION 命令:
注:
persons 表,在 【JOIN - 多表关联】 中已经创建。
列出 persons 和 persons_b 中不同的人:
select * from persons
UNION
select * from persons_b;
📢注意: UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。