为了账号安全,请及时绑定邮箱和手机立即绑定

如何在SQL Server中使用INNER JOIN从多个表中删除

如何在SQL Server中使用INNER JOIN从多个表中删除

红糖糍粑 2019-11-12 10:52:04
在MySQL中,您可以使用语法DELETE t1,t2 FROM table1 AS t1 INNER JOIN table2 t2 ...INNER JOIN table3 t3 ...如何在SQL Server中执行相同的操作?
查看完整描述

3 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

  1. 您始终可以在表的关系上设置级联删除。

  2. 您可以将多个删除封装在一个存储过程中。

  3. 您可以使用事务来确保一个工作单元。


查看完整回答
反对 回复 2019-11-12
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

您可以在SQL Server的DELETE中的FROM子句中使用JOIN语法,但仍仅从第一个表中删除,它是专有的Transact-SQL扩展,可替代子查询。


从这里的例子:


 -- Transact-SQL extension

 DELETE 

   FROM Sales.SalesPersonQuotaHistory 

     FROM Sales.SalesPersonQuotaHistory AS spqh INNER JOIN 

          Sales.SalesPerson AS sp ON spqh.BusinessEntityID = sp.BusinessEntityID

    WHERE sp.SalesYTD > 2500000.00;


查看完整回答
反对 回复 2019-11-12
  • 3 回答
  • 0 关注
  • 764 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信