Heim >Datenbank >MySQL-Tutorial >Wie lösche ich Datensätze mithilfe eines INNER JOIN in SQL Server korrekt?
Korrektur der SQL-Syntax zum Löschen von Datensätzen mit INNER JOIN
Dieser Artikel befasst sich mit einem häufigen Syntaxfehler beim Löschen von Datensätzen aus einer Tabelle mithilfe eines INNER JOIN
in SQL Server. Das Ziel besteht darin, Einträge aus der Tabelle WorkRecord2
basierend auf einer Beziehung zur Tabelle Employee
zu entfernen. Die ursprüngliche Abfrage enthielt einen Syntaxfehler. Die korrigierte Abfrage wird unten angezeigt:
<code class="language-sql">DELETE w FROM WorkRecord2 w INNER JOIN Employee e ON w.EmployeeRun = e.EmployeeNo WHERE e.Company = '1' AND e.Date = '2013-05-06';</code>
Die wichtigste Korrektur ist die Einführung der Aliase „w“ für WorkRecord2
und „e“ für Employee
. Die DELETE w
-Klausel gibt eindeutig an, dass sich die Löschung auf die Tabelle WorkRecord2
(alias „w“) bezieht. Die FROM
-Klausel verwendet dann diese Aliase, um zwischen den Tabellen im Join zu unterscheiden. Die ON
-Klausel gibt die Join-Bedingung mithilfe der Aliase (w.EmployeeRun = e.EmployeeNo
) korrekt an. Schließlich filtert die WHERE
-Klausel die Löschung so, dass nur Datensätze einbezogen werden, bei denen das Company
„1“ und das Date
„2013-05-06“ in der Employee
-Tabelle ist (unter Verwendung des Alias „e“). Dadurch wird sichergestellt, dass nur die relevanten Datensätze aus WorkRecord2
gelöscht werden. Die korrigierte Abfrage wird nun erfolgreich ausgeführt.
Das obige ist der detaillierte Inhalt vonWie lösche ich Datensätze mithilfe eines INNER JOIN in SQL Server korrekt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!