SQL Server DELETE-Anweisung mit INNER JOIN: Syntaxfehler vermeiden
In diesem Handbuch wird erläutert, wie Sie INNER JOIN
innerhalb einer DELETE
-Anweisung in SQL Server korrekt verwenden und einen häufigen Syntaxfehler beheben. Der Fehler „Falsche Syntax in der Nähe des Schlüsselworts ‚INNER‘“ tritt häufig aufgrund einer Auslassung in der Struktur der DELETE
-Anweisung auf.
Den Fehler und seine Lösung verstehen
Die Fehlermeldung weist darauf hin, dass SQL Server nicht ermitteln kann, welche Tabellenzeilen gelöscht werden sollen. Die Lösung besteht darin, die Zieltabelle mithilfe eines Tabellenalias explizit anzugeben.
Beispiel für die richtige Syntax
Der folgende korrigierte Code demonstriert die ordnungsgemäße Verwendung:
<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>
Hier fungiert w
als Alias für die Tabelle WorkRecord2
. Dadurch wird WorkRecord2
eindeutig als die Tabelle bezeichnet, aus der Zeilen basierend auf den INNER JOIN
-Bedingungen gelöscht werden. Das INNER JOIN
selbst verknüpft WorkRecord2
- und Employee
-Tabellen basierend auf der angegebenen Join-Bedingung (e.EmployeeRun = w.EmployeeNo
) und filtert die Löschung nur auf die Zeilen, die die WHERE
-Klauselkriterien erfüllen.
Das obige ist der detaillierte Inhalt vonWie lösche ich Daten mithilfe von INNER JOIN in SQL Server korrekt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!