ホームページ >データベース >mysql チュートリアル >SQL Server で INNER JOIN を使用して行を正しく削除する方法は?

SQL Server で INNER JOIN を使用して行を正しく削除する方法は?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-19 06:15:10604ブラウズ

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

SQL Server で INNER JOIN を使用して行を削除する正しい方法

SQL Server で INNER JOIN を使用して行を削除する場合は、操作の失敗を引き起こす可能性のあるよくある間違いを避けるようにしてください。そのような間違いの 1 つは、削除するテーブルの明示的な指定を省略することです。

エラーが発生しました:

次のコードを実行すると、エラー メッセージが表示されます:

<code class="language-sql">DELETE 
FROM WorkRecord2 
INNER JOIN Employee 
        ON EmployeeRun=EmployeeNo
WHERE Company = '1' 
    AND Date = '2013-05-06'</code>

エラーメッセージは次のとおりです:

メッセージ 156、レベル 15、状態 1、行 15
キーワード「INNER」付近の構文エラー。

解決策:

このエラーを修正するには、DELETE 操作によって変更されるテーブルを明示的に指定する必要があります。これは、テーブルにエイリアスを導入することで実現できます。変更されたコードは次のとおりです:

<code class="language-sql">DELETE w
FROM WorkRecord2 w
INNER JOIN Employee e
  ON EmployeeRun=EmployeeNo
WHERE Company = '1' AND Date = '2013-05-06'</code>

この更新されたコードでは、「w」が WorkRecord2 テーブルのエイリアスとして使用されています。これにより、DELETE ステートメントが行を削除する正しいテーブルをターゲットにすることが保証されます。

以上がSQL Server で INNER JOIN を使用して行を正しく削除する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。