通过使用union合并两个表来创建新表

Jon*_*pez 8 mysql

我有两个具有相同列的表.

我可以将它们合并 UNION

select * from  table1
union
select * from table2;
Run Code Online (Sandbox Code Playgroud)

如何使用与该查询相同的内容和列创建新表?

Dev*_*art 20

您可以使用CREATE TABLE ... SELECT语句.

CREATE TABLE new_table
  SELECT * FROM table1
    UNION
  SELECT * FROM table2;
Run Code Online (Sandbox Code Playgroud)


Hus*_*ala 5

create table new_table as
select col1, col2 from table1 
union 
select col1, col2 from table2
Run Code Online (Sandbox Code Playgroud)

确保从联合表中选择相同的一组列。

  • 如果您尝试将联合查询括在括号中,mysql 会抛出错误。正如 @devart 的回答所建议的,省略括号对我来说很有效 (2认同)