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

在MySQL中,您可以使用语法


DELETE t1,t2 

FROM table1 AS t1 

INNER JOIN table2 t2 ...

INNER JOIN table3 t3 ...

如何在SQL Server中执行相同的操作?


红糖糍粑
浏览 783回答 3
3回答

慕斯709654

您始终可以在表的关系上设置级联删除。您可以将多个删除封装在一个存储过程中。您可以使用事务来确保一个工作单元。

肥皂起泡泡

您可以在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;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server