有三张表结构相同的表T1、T2、T3,现在想把T1、T2表中的数据插入到T3中,并且ID不能有重复的(T1与T2中如有互相重复的数据,应去重后只保留一条),每张表中的数据都有几十万条,请问高手怎么写SQL语句才能高效的完成此任务?

解决方案 »

  1.   

    insert into t3
    (select * from t1 
    union 
    select * from t2)
      

  2.   

    当你在id上有unique index的时候,通过两步的插入即可.insert into t3 select * from t1;
    insert into t3 select * from t2 where not exists (select 1 from t3 where t3.id=t2.id);几十万条算不了什么数据,就是用最普通的in也耗费不了多少时间.