SQL数据库中删除一个表在另一个表中不存在的记录?

比如表A和B,根据字段ID来判断,如果A.ID在B中,不存在,则删除此条记录,我用以下语句来删除,速度很慢,有没有方法能快速删除?deletefromAwhereIDno... 比如表A和B,根据字段ID来判断,如果A.ID在B中,不存在,则删除此条记录,我用以下语句来删除,速度很慢,有没有方法能快速删除?
delete from A where ID not in
(select ID from B)
展开
 我来答
pi...w@mail.ru
推荐于2017-12-28 · TA获得超过109个赞
知道小有建树答主
回答量:232
采纳率:62%
帮助的人:30万
展开全部
1. 采用not exists 执行速度快delete from T_AD where not exists (select 1 from T_AD_PLAY where T_AD.N_CODE =T_AD_PLAY.N_CODE ) 2. 采用not in 执行速度慢Delete From T_AD Where N_AD Not In(Select N_AD From T_AD_PLAY)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
merlindlut
2015-08-11 · TA获得超过422个赞
知道小有建树答主
回答量:945
采纳率:0%
帮助的人:404万
展开全部
delete from A where ID not in
(select distinct ID from B)
追问

请问这是什么情况A表中记录4W多条,B表中记录1.8W条

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
江南奇少
2017-10-10 · TA获得超过1909个赞
知道小有建树答主
回答量:483
采纳率:66%
帮助的人:218万
展开全部
delete from A where not exists (select 1 from B where A.ID = b.ID)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式