热烈的决斗者手机铃声:如何用SQL语句删除两个表中相同的记录?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 05:22:17
两个表的结构一样,且没有建立关系
一共有几十万条的记录啊,

如何将删除之后剩余的记录生成一个新的表,不要修改原来的表?

insert into 新表
select * from 表1 where not id in (select id from 表2)
insert into 新表
select * from 表2 where not id in (select id from 表1)

@@
两个表结构一样???这不等于两个表记录的数据是一种数据了嘛!
随便找一个没重复的字段做为匹配的就行了!
比如两个表中的Tname唯一,那么delete from t1,t2 where t1.Tname = t2.Tname

delete from table1 where table1.col1=table2.col1 and table1.col2=table2.col2 and ...

delete from table2 where table1.col1=table2.col1 and table1.col2=table2.col2 and ...

先连接表1读取表1的所有数据存入DATATABLE里。
然后一行行与表2的数据进行比较,有相同的就执行删除。