不建议图省事,老老实实写三条比较好。
insert into T2 (A,B,C) select T1.A,T1.B,T1.C from T1 left join T2 on T1.A = T2.A and ( T1.B = T2.B or T1.C = T2.C );
insert into T2 (A,B,C) select T1.A,T1.B,T1.C from T1 left join T2 on T1.B = T2.B and ( T1.A = T2.A or T1.C = T2.C );
insert into T2 (A,B,C) select T1.A,T1.B,T1.C from T1 left join T2 on T1.C = T2.C and ( T1.B = T2.B or T1.A = T2.A );
insert into T2(A,B,C) select A,B,C from T1 where concat(A,B,C) not in (select concat(A,B,C) from T2)
注意:以上语句不能处理A,B,C中有null值的情况。