MYSQL:将两个表合并为一个,使用union

标签 mysql union

我必须用另外两个表制作一个表(并使用联合)。有效的查询是:

SELECT * FROM tabel1
UNION
SELECT * FROM tabel2

现在我要做的是将此结果(数据)放入表 3(我已有的表,与表 1 和表 2 中的列相同)。

谁能帮帮我?

最佳答案

INSERT INTO table3 
SELECT * FROM tabel1
UNION
SELECT * FROM tabel2

因为你在所有三个列中都有相同的列......

在一般情况下,您应该使用像这样的列列表

INSERT INTO table3 (col1, col2, col3)
SELECT col1, col2, col3 FROM tabel1
UNION
SELECT col1, col2, col3 FROM tabel2

这样可以避免 auto_increment id 列的麻烦。此外,您应该考虑使用 UNION ALL,因为 UNION 会过滤掉重复的行,因此在大表上会花费更长的时间。

关于MYSQL:将两个表合并为一个,使用union,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18597952/

相关文章:

mysql - 合并 1 列并选择其他

mysql - 简化海量mysql查询

php : speed up levensthein comparing, 10k + 记录

java - 将数据库中BLOB字段中的二进制内容转换为文件mySQL

sql - 从包含 "Winners"和 "Losers"的表中获取获胜百分比

mysql - 使用大数据集模拟 MYSQL 中的完全连接

mysql - 需要 MySQL 查询帮助来获取 y 年和 y+1 年的平均值

mysql - 选择时间戳 x 和时间戳 y 之间的数据,返回为 z 行数(缩小结果集)

mysql - 在 Ubuntu 上使用 APT 安装的 MySQL 的 BASEDIR 在哪里?

php - 警告 : mysql_fetch_array() expects parameter 1 to be resource [. ..]