Definition:
Ein INNER JOIN
in SQL verbindet Zeilen aus zwei Tabellen basierend auf einer gemeinsamen Bedingung. Beim Löschen mit einem INNER JOIN
werden Zeilen aus einer Tabelle gelöscht, die eine Übereinstimmung in einer anderen Tabelle haben.
Anwendungsfall:
Die Verwendung von INNER JOIN
beim Löschen ist nützlich, wenn man Daten aus einer Tabelle entfernen möchte, die in Bezug zu Daten in einer anderen Tabelle stehen.
Beispiel:
Nehmen Sie an, Sie haben zwei Tabellen: Mitarbeiter
und GekündigteMitarbeiter
. Sie möchten alle Zeilen aus der Mitarbeiter
-Tabelle löschen, die Übereinstimmungen in der GekündigteMitarbeiter
-Tabelle haben, basierend auf der MitarbeiterID
.
DELETE m
FROM Mitarbeiter m
INNER JOIN GekündigteMitarbeiter gm ON m.MitarbeiterID = gm.MitarbeiterID;
In diesem Beispiel:
- Die Tabelle
Mitarbeiter
wird mit dem Aliasm
und die TabelleGekündigteMitarbeiter
mit dem Aliasgm
versehen. - Das
DELETE m
-Statement gibt an, dass Zeilen aus derMitarbeiter
-Tabelle und nicht aus derGekündigteMitarbeiter
-Tabelle gelöscht werden sollen. - Der
INNER JOIN
sorgt dafür, dass nur Zeilen aus derMitarbeiter
-Tabelle gelöscht werden, die eine korrespondierende Zeile in derGekündigteMitarbeiter
-Tabelle haben.
Zusammenfassung:
Durch die Verwendung des INNER JOIN
-Statements beim Löschen können Sie gezielt und effizient Daten aus einer Tabelle entfernen, die auf Daten in einer anderen Tabelle Bezug nehmen. Es ist von wesentlicher Bedeutung, dass das DELETE-Statement korrekt formuliert wird, um unbeabsichtigtes Löschen von Daten zu vermeiden.