首页 > 数据库 > mysql教程 > 如何在SQL Server中使用INNER JOIN正确删除行?

如何在SQL Server中使用INNER JOIN正确删除行?

Barbara Streisand
发布: 2025-01-19 06:15:10
原创
675 人浏览过

How to Correctly Delete Rows Using INNER JOIN in SQL Server?

SQL Server 中使用 INNER JOIN 删除行的正确方法

在 SQL Server 中使用 INNER JOIN 删除行时,务必避免常见的错误,这些错误可能导致操作失败。其中一个错误是省略要删除的表的明确指定。

遇到的错误:

运行以下代码时,会遇到错误消息:

DELETE 
FROM WorkRecord2 
INNER JOIN Employee 
        ON EmployeeRun=EmployeeNo
WHERE Company = '1' 
    AND Date = '2013-05-06'
登录后复制

错误消息如下:

Msg 156, Level 15, State 1, Line 15
关键字 'INNER' 附近的语法错误。

解决方案:

要纠正此错误,需要明确标识将被 DELETE 操作修改的表。这可以通过为表引入别名来实现。修改后的代码如下:

DELETE w
FROM WorkRecord2 w
INNER JOIN Employee e
  ON EmployeeRun=EmployeeNo
WHERE Company = '1' AND Date = '2013-05-06'
登录后复制

在此更新的代码中,“w”用作 WorkRecord2 表的别名。这确保 DELETE 语句将目标锁定在正确的表上以删除行。

以上是如何在SQL Server中使用INNER JOIN正确删除行?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板