在SQL中怎么删除两个表中相同的数据
2个回答
推荐于2017-11-22
展开全部
两种方式,一种是用嵌套,一个是关联。
嵌套:
如表1有如下数据
id name
1 张三
2 李四
3 王五
表2有如下数据
id
1
2
现在要删除表1中含有表2中id的数据,可用以下语句:
delete from 表1 where id in (select id from 表2)
关联:
如表1有如下数据
id name
1 张三
2 李四
3 王五
表2有如下数据
id name
1 张三
2 哈哈
现在要删除表1中id和name同时等于表2中id和name的数据,可用以下语句:
delete from 表1 where exists (select 1 from 表2 where 表1.id=表2.id and 表1.name=表2.name);
嵌套:
如表1有如下数据
id name
1 张三
2 李四
3 王五
表2有如下数据
id
1
2
现在要删除表1中含有表2中id的数据,可用以下语句:
delete from 表1 where id in (select id from 表2)
关联:
如表1有如下数据
id name
1 张三
2 李四
3 王五
表2有如下数据
id name
1 张三
2 哈哈
现在要删除表1中id和name同时等于表2中id和name的数据,可用以下语句:
delete from 表1 where exists (select 1 from 表2 where 表1.id=表2.id and 表1.name=表2.name);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询