带有 INNER JOIN 的 SQL Server DELETE 语句:避免语法错误
本指南说明如何在 SQL Server 的 INNER JOIN
语句中正确使用 DELETE
,解决常见的语法错误。 由于 DELETE
语句结构中的遗漏,经常会出现“关键字 'INNER' 附近的语法不正确”错误。
了解错误及其解决方案
错误消息表明 SQL Server 无法确定应删除哪个表的行。 解决方案涉及使用表别名显式指定目标表。
正确语法示例
以下更正后的代码演示了正确的用法:
<code class="language-sql">DELETE w FROM WorkRecord2 w INNER JOIN Employee e ON e.EmployeeRun = w.EmployeeNo WHERE Company = '1' AND Date = '2013-05-06';</code>
此处,w
充当 WorkRecord2
表的别名。 这明确指定 WorkRecord2
作为将根据 INNER JOIN
条件删除行的表。 INNER JOIN
本身根据指定的联接条件 (WorkRecord2
) 链接 Employee
和 e.EmployeeRun = w.EmployeeNo
表,过滤删除仅那些满足 WHERE
子句条件的行。
以上是SQL Server中如何使用INNER JOIN正确删除数据?的详细内容。更多信息请关注PHP中文网其他相关文章!