如何用SQL语句删除两个表中相同的记录?

两个表的结构一样,且没有建立关系
一共有几十万条的记录啊,

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

1,首先创建一个表,并在表中插入重复的记录,如下图所示。

2,插入好以后就看见表中已经有重复的数据了,如下图所示。

3,接下来在删除之前我们记得一定先备份,如下图所示。

4,然后排除重复的记录可以通过distinct字段设置,如下图所示,然后将去重的数据插入到新表中。

5,接着看到数据表下面多出来一个刚建的新表,如下图所示。

6,最后打开新表,就可以看到重复的数据都没有了,如下图所示。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-02-05
这样删不掉应该是你的记录中就是这样写着null
要是这样的话你在null上加上单引号,这样应该就可以了
delete
from
student
where
s_no='null'
如果记录中那一列是空白的,也就是说不是显示null,那你把=改成is就可以了
第2个回答  2006-08-24
先连接表1读取表1的所有数据存入DATATABLE里。
然后一行行与表2的数据进行比较,有相同的就执行删除。
第3个回答  2006-08-24
@@
两个表结构一样???这不等于两个表记录的数据是一种数据了嘛!
随便找一个没重复的字段做为匹配的就行了!
比如两个表中的Tname唯一,那么delete from t1,t2 where t1.Tname = t2.Tname
第4个回答  2006-08-26
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)本回答被网友采纳
相似回答