写SQL语句,删除A表记录在B表不存在的数据

1、有T_AD,T_AD_PLAY两张表,表中字段如下:T_AD:N_CODE,S_NAME,…T_AD_PLAY:N_CODE,N_AD,T_TIME1,…现已知(1)... 1、有T_AD, T_AD_PLAY 两张表,表中字段如下:

T_AD: N_CODE,S_NAME ,…

T_AD_PLAY:N_CODE,N_AD,T_TIME1,…

现已知
(1) T_AD_PLAY 表中的N_AD 是T_AD表的外键,两个表的N_CODE都是主键
(2) 两张表的表数据量都大于100万行
请写出如下SQL:删除T_AD表记录在T_AD_PLAY不存在的数据。.
这是一家公司的笔试题
展开
 我来答
tpj_wow
2010-12-31 · TA获得超过532个赞
知道小有建树答主
回答量:232
采纳率:100%
帮助的人:293万
展开全部
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)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zxlxxl
2010-12-31 · TA获得超过630个赞
知道小有建树答主
回答量:928
采纳率:0%
帮助的人:481万
展开全部
T_AD表中的哪个字段的记录在T_AD_PLAY表中的哪个字段的记录中不存在?
假设是删除T_AD表中N_CODE在T_AD_PLAY表中的N_CODE不存在的记录吧
delete from T_AD where T_AD.N_CODE not in (select T_AD_PLAY.N_CODE from T_AD_PLAY)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伦语心声
2010-12-31 · TA获得超过1283个赞
知道答主
回答量:89
采纳率:0%
帮助的人:88.6万
展开全部
delete from T_AD
where T_AD.N_CODE
not in (select T_AD.N_CODE from T_AD
where T_AD.N_CODE =T_AD_PLAY.N_CODE )
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
华夏日长兴
2010-12-31 · TA获得超过9592个赞
知道大有可为答主
回答量:6305
采纳率:85%
帮助的人:3714万
展开全部
delete from T_AD
where not exists (select 1 from T_AD_PLAY where T_AD.N_CODE =T_AD_PLAY.N_CODE )

这才是快的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huangqz2010
2019-11-29
知道答主
回答量:4
采纳率:0%
帮助的人:3821
展开全部
delete from T_AD where T_AD.N_CODE NOT EXISTS (SELECT N_AD FROM T_AD_PLAY)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式