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

时间:2012-07-19 11:11:30

标签: sql sql-server oracle sql-server-2008 database-performance

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

我开始说,我会使用临时表或表变量,但他说不,他想在单个语句或查询中看到....我是空白的:(

请你们中的任何人分享正确答案:)

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

取决于具体细节,但总的来说,我认为这个想法是使用联盟。以下显然是伪代码,但它传达了这个想法:

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