用于将数据从3个表复制到空表的单行查询



今天在采访中,有人问我是否可以编写一个查询,将数据从3个表复制到一个空表。

我开始说,我将使用临时表或表变量,但他说不,他希望在单个语句或查询中看到。。。。我一片空白:(

你们中的任何人都可以分享正确的答案吗

insert into <emplty_table>
select * from table1
union all
select * from table2
union all
select * from table3

如果所有的表都有相同的结构

取决于具体情况,但通常我认为应该使用并集。以下显然是伪代码,但它传达了这样的想法:

insert into x (field1, field2, field3)
  select a, b, c
    from table1
  union
  select d, e, f
    from table2
  union
  select g, h, i
    from table3

最新更新