-- 创建两个示例表
CREATE TABLE table1 (
id serial PRIMARY KEY,
name VARCHAR (100)
);
CREATE TABLE table2 (
id serial PRIMARY KEY,
name VARCHAR (100)
);
-- 向表中插入一些数据
INSERT INTO table1 (name) VALUES ('John'), ('Alice'), ('Bob');
INSERT INTO table2 (name) VALUES ('Alice'), ('Eve'), ('Bob');
-- 使用 UNION 合并两个表的结果
SELECT name FROM table1
UNION
SELECT name FROM table2;
在上面的例子中,UNION 合并了 table1 和 table2 中 name 列的结果,消除了重复的行。最终的结果集将包含所有唯一的名字。
如果你希望保留重复的行,可以使用 UNION ALL。例如:
-- 使用 UNION ALL 保留重复的行
SELECT name FROM table1
UNION ALL
SELECT name FROM table2;
请注意,使用 UNION 和 UNION ALL 时,两个查询的列数和数据类型必须相匹配。
转载请注明出处:http://www.zyzy.cn/article/detail/14142/PostgreSQL