Sql 如果表中有来自另一个表的电子邮件记录,则从表中删除行
我有两个表,一个是客户表,包含他们的姓名、电子邮件、公司等。另一个表只包含需要删除的客户电子邮件。我需要开发一个查询来删除第一个表中的所有行,如果它们在第二个表中包含电子邮件。这些表位于Microsoft SQL Server数据库中 由于我正在学习SQL,我不知道该怎么做,我已经搜索了所有问题,但找不到足够类似的问题。您可以使用Sql 如果表中有来自另一个表的电子邮件记录,则从表中删除行,sql,sql-server,Sql,Sql Server,我有两个表,一个是客户表,包含他们的姓名、电子邮件、公司等。另一个表只包含需要删除的客户电子邮件。我需要开发一个查询来删除第一个表中的所有行,如果它们在第二个表中包含电子邮件。这些表位于Microsoft SQL Server数据库中 由于我正在学习SQL,我不知道该怎么做,我已经搜索了所有问题,但找不到足够类似的问题。您可以使用exists()如下所示: delete c from customers as c where exists ( select 1 from emails a
exists()
如下所示:
delete c
from customers as c
where exists (
select 1
from emails as e
where e.email = c.email
)
或()中的
:
使用IN子句:
Delete from [customers] where [email] in (Select [email] from [toberemoved])
听起来这两者的共同点是电子邮件地址,你可以在电子邮件地址上加入,只找到那些电子邮件地址存在于你的表中的、包含要删除的地址。我们不提供免费代码编写服务。至少试着做点什么,把它贴在这里。如果它不起作用,我们可以帮助您修复它。提示:使用
EXISTS
。您没有非常努力地搜索。我在5秒钟内找到了一个副本。我在谷歌上搜索了你问题的标题,第一个点击的是答案:我不知道为什么这是DV。仅仅因为其他地方可能有重复,并不意味着这是错误的,并保证DV IMHO。@scsimon感谢平等投票。似乎有些人对错误/重复问题的答案投了反对票,是因为问题本身,而不是答案今天早些时候也发生在我身上:@scsimon同意了。不要因为问题重复或写得不好而惩罚回答者。这也违背了“我什么时候应该投否决票”。SMH.@TabAlleman我不知道你在没有任何评论的情况下发布链接想要传达什么。
Delete from [customers] where [email] in (Select [email] from [toberemoved])