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
Mitarbeiterwird mit dem Aliasmund die TabelleGekündigteMitarbeitermit dem Aliasgmversehen. - Das
DELETE m-Statement gibt an, dass Zeilen aus derMitarbeiter-Tabelle und nicht aus derGekündigteMitarbeiter-Tabelle gelöscht werden sollen. - Der
INNER JOINsorgt 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.