在日常数据处理中,我们经常会遇到需要将两个或多个数据源中的数据进行合并的需求。其中,SQL(结构化查询语言)是一种强大的工具,可以帮助我们快速高效地实现这一目标。
使用 UNION 运算符
UNION 运算符是将两个或多个结果集行并的常用 。它将两个结果集中的所有行合并到一个新的结果集中,但会忽略重复的行。语法如下:
SELECT * FROM table1
UNION
SELECT * FROM table2;
使用 UNION ALL 运算符
UNION ALL 运算符与 UNION 运算符类似,但它不会忽略重复的行。这意味着新结果集中将包含来自两个结果集的所有行,包括重复的行。语法如下:
SELECT * FROM table1
UNION ALL
SELECT * FROM table2;
导出结果到文件夹
将数据合并到一个新结果集后,我们可以使用以下命令将结果导出到指定文件夹:
SELECT * FROM new_result_set
INTO OUTFILE '/path/to/folder/result.csv';
示例
假设我们有两个数据表,table1 和 table2,它们分别包含以下数据:
table1:
id | name
-----|---------
1 | John
2 | Mary
table2:
id | city
-----|---------
1 | New York
2 | Los Angeles
3 | London
要将这两个数据表的数据合并到一个新文件夹中,我们可以使用以下命令:
SELECT * FROM table1
UNION
SELECT * FROM table2;
INTO OUTFILE '/path/to/folder/result.csv';
该命令将创建一个名为 result.csv 的 CSV 文件,该文件中包含以下数据:
id | name | city
-----|---------|---------
1 | John | NULL
2 | Mary | NULL
1 | NULL | New York
2 | NULL | Los Angeles
3 | NULL | London