UNION 是 MySQL 中用于合并两个或多个 SELECT 语句结果集的关键字。它将两个或多个查询的结果合并为一个结果集,并去除重复的行。以下是一个简单的示例:

假设有两个表,table1 和 table2,它们的结构相同:
-- 创建示例表 table1
CREATE TABLE table1 (
    id INT,
    name VARCHAR(50)
);

-- 插入一些数据
INSERT INTO table1 VALUES (1, 'Alice'), (2, 'Bob'), (3, 'Charlie');

-- 创建示例表 table2
CREATE TABLE table2 (
    id INT,
    name VARCHAR(50)
);

-- 插入一些数据
INSERT INTO table2 VALUES (3, 'Charlie'), (4, 'David'), (5, 'Eve');

现在,你可以使用 UNION 将两个表的数据合并:
SELECT id, name FROM table1
UNION
SELECT id, name FROM table2;

这将返回一个包含 table1 和 table2 中所有不重复行的结果集。请注意,UNION 默认会去除重复的行,如果你想包含重复行,可以使用 UNION ALL:
SELECT id, name FROM table1
UNION ALL
SELECT id, name FROM table2;

使用 UNION 或 UNION ALL 时,两个 SELECT 语句的列数和数据类型必须匹配。如果不匹配,你可能需要进行适当的转换或调整以使其匹配。


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