INNER JOIN beim Löschen in SQL Server

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 Alias m und die Tabelle GekündigteMitarbeiter mit dem Alias gm versehen.
  • Das DELETE m-Statement gibt an, dass Zeilen aus der Mitarbeiter-Tabelle und nicht aus der GekündigteMitarbeiter-Tabelle gelöscht werden sollen.
  • Der INNER JOIN sorgt dafür, dass nur Zeilen aus der Mitarbeiter-Tabelle gelöscht werden, die eine korrespondierende Zeile in der Gekü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.