PostgreSQL-8-数据合并
时间:2021-07-01 10:21:17
帮助过:27人阅读
1、JOIN与UNION的区别详解
CREATE TABLE t1(id
int,value1
text);
INSERT INTO t1
VALUES(
1,
‘a‘),(
2,
‘b‘),(
3,
‘c‘);
-- 创建表格t1
CREATE TABLE t2(id
int,value2
text);
INSERT INTO t2
VALUES(
1,
‘aa‘),(
2,
‘bb‘),(
3,
‘cc‘);
-- 创建表格t2
CREATE TABLE t3(id
int,value3
text);
INSERT INTO t3
VALUES(
1,
‘a‘),(
4,
‘A‘),(
5,
‘B‘),(
6,
‘C‘);
-- 创建表格t3,注意这里有一条和t1一样的数据
SELECT * FROM t1
INNER JOIN t2
ON t1.id
= t2.id;
-- JOIN:以id为key连接t1,t2两个表格
SELECT * FROM t1
UNION SELECT * FROM t3;
-- UNION:将两个表格合并(行与行)
-- 注意,UNION要求两个表格具有相同的列结构,列数也要相同,列名可以不同
-- UNION之后不会返回重复数据
-- 2、UNION语法
SELECT column1
[, column2 ] FROM table1
[, table2 ] [WHERE condition]
UNION
SELECT column1
[, column2 ] FROM table1
[, table2 ] [WHERE condition]
-- 组合两个或多个SELECT语句的结果,而不返回任何重复的行
-- 3、UNION ALL语法
SELECT column1
[, column2 ] FROM table1
[, table2 ] [WHERE condition]
UNION ALL
SELECT column1
[, column2 ] FROM table1
[, table2 ] [WHERE condition]
-- 组合两个或多个SELECT语句的结果,且返回重复的行
SELECT * FROM t1
UNION ALL SELECT * FROM t3;
PostgreSQL-8-数据合并
标签:建表 语句 value 合并 join 组合 重复数据 sel 区别