SQL如何删除多表连接中的相同列(关联列)
1个回答
展开全部
如果是删除单个字段重复可用in,如果是删除多个字段重复可用exists。
如表1数据:
id name age
1 张三 19
2 李四 20
3 王五 17
4 赵六 21
表2数据:
id name age
1 张三 19
2 李四 21
5 王五 14
如果删除表1中id和表2相同的内容:
1
delete from 表1 where id in (select id from 表2)
如果删除表1中id,name和age都与表2相同的数据
1
delete from 表1 where exists (select 1 from 表2 where 表1.id=表2.id and 表1.name=表2.name and 表1.age=表2.age)
如表1数据:
id name age
1 张三 19
2 李四 20
3 王五 17
4 赵六 21
表2数据:
id name age
1 张三 19
2 李四 21
5 王五 14
如果删除表1中id和表2相同的内容:
1
delete from 表1 where id in (select id from 表2)
如果删除表1中id,name和age都与表2相同的数据
1
delete from 表1 where exists (select 1 from 表2 where 表1.id=表2.id and 表1.name=表2.name and 表1.age=表2.age)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询