INNER JOIN を使用した SQL Server DELETE ステートメント: 構文エラーの回避
このガイドでは、SQL Server の INNER JOIN
ステートメント内で DELETE
を正しく使用する方法を説明し、一般的な構文エラーに対処します。 「キーワード 'INNER' 付近の構文が正しくありません」というエラーは、DELETE
ステートメントの構造の省略が原因で発生することがよくあります。
エラーとその解決策を理解する
このエラー メッセージは、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 中国語 Web サイトの他の関連記事を参照してください。