📌  相关文章
📜  如何在SQL中追加两个表并将结果放入一个表中?

📅  最后修改于: 2022-05-13 01:54:35.247000             🧑  作者: Mango

如何在SQL中追加两个表并将结果放入一个表中?

结构化查询语言或 SQL 是一种标准的数据库语言,用于从 MySQL、Oracle、SQL Server、PostGre 等关系数据库中创建、维护和检索数据。在本文中,我们将学习如何附加两个表并存储使用 UNION, UNION ALL将结果放入一个新表中。

联盟:

句法:

SELECT column_one, column_two,..column_N INTO Table_name FROM table_name
UNION  SELECT column_one,column_two,column_three,.. column_N FROM table_name;

联合所有

句法:

SELECT column_one, column_two,column_three,.. column_N INTO Table_name FROM
table_name UNION SELECT column_one, column_two, column_three,..column_N
 FROM table_name;

Union 和 Union All 的区别在于 UNION 不包括重复项,但 UNION ALL 也包括重复项。两者都以类似的语法使用。

考虑以下两个百货商店数据的表格



数据库:Shop1

Item_IdNameCount
1USB drive10
2pencil11
3candle01
4sharpie19
5model car12
6water bottle20

用于创建表的命令

询问:

CREATE TABLE Shop1(Item_Id int,Name varchar(20),Count int)

输出:

数据库:Shop2

Item_IdNameCount
1nail file11
2rubber band10
3candle01
4pencil10
5model car12
6water bottle12
7bread3
8shoes19
9face wash20

用于创建表的命令

询问:



CREATE TABLE Shop2(Item_Id int,Name varchar(20),Count int)

输出:

方法一:使用 UNION 关键字

为了连接两个表,即 Shop1 和 Shop2,我们运行以下命令:

询问:

SELECT * INTO joined FROM Shop1 UNION SELECT * FROM Shop2;

上述命令加入Shop1SHOP2加入了一个新的表,它是如下,并且可以由下面的命令来查看:

询问:

SELECT * FROM joined;
Item_IdNameCount
1USB drive10
1nail file11
2pencil11
2rubber band10
3candle1
4pencil10
4sharpie19
5model car12
6water bottle12
6water bottle20
7bread3
8shoes19
9face wash20

所以连接表不包含重复项,因为我们使用了 UNION 关键字

这是我们执行查询时的输出

输出:



方法 2:使用 UNION ALL 关键字

询问:

SELECT * INTO joined2 FROM Shop1 UNION ALL SELECT * FROM Shop2;

上面的命令创建了一个新的表,名称为 join2,其中包含 Shop1 和 Shop2 的所有值。

我们运行以下命令查看表

询问:

SELECT * FROM joined2;
Item_IdNameCount
1USB drive10
1nail file11
2pencil11
2rubber band10
3candle1
3candle1
4sharpie19
4pencil10
5model car12
5model car12
6water bottle20
6water bottle12
7bread3
8shoes19
9face wash20

这是我们执行查询时的输出。

输出: