写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不存在的数据。.
这是一家公司的笔试题 展开
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不存在的数据。.
这是一家公司的笔试题 展开
7个回答
展开全部
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)
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)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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)
假设是删除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)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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 )
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 )
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
delete from T_AD
where not exists (select 1 from T_AD_PLAY where T_AD.N_CODE =T_AD_PLAY.N_CODE )
这才是快的
where not exists (select 1 from T_AD_PLAY where T_AD.N_CODE =T_AD_PLAY.N_CODE )
这才是快的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
delete from T_AD where T_AD.N_CODE NOT EXISTS (SELECT N_AD FROM T_AD_PLAY)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询