SQL中EXISTS与delete搭配使用

对一张表的数据进行删除,因为要根据此表某字段进行筛选删除并且要根据另外一个表的数据筛选,数据量巨大用IN操作拖累效率,所以用exists进行数据选择删除,提高效率。

DELETE  FROM test_some s WHERE EXISTS(
		SELECT 1 FROM 
			(SELECT device_mac FROM test_big b  GROUP BY device_mac HAVING COUNT(device_mac) >1)b 
			WHERE s.device_mac = b.device_mac
		);

注释:从表test_some中删除数据,要删除的数据特征为表test_big中个数大于1的device_mac。将device_mac大于1的数据从表test_some中删除!!!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值