Heim > Datenbank > MySQL-Tutorial > Wie lösche ich effizient Zeilen aus einer SQL-Tabelle basierend auf IDs in einer anderen?

Wie lösche ich effizient Zeilen aus einer SQL-Tabelle basierend auf IDs in einer anderen?

Patricia Arquette
Freigeben: 2025-01-05 04:17:40
Original
376 Leute haben es durchsucht

How to Efficiently Delete Rows from One SQL Table Based on IDs in Another?

Zeilen basierend auf einer anderen Tabelle löschen

In SQL kommt es nicht selten vor, dass Zeilen aufgrund ihrer Anwesenheit aus einer Tabelle gelöscht werden müssen in einer anderen Tabelle. Stellen Sie sich das folgende Szenario vor:

DB-Abfrage:

Ich kann mich anscheinend nie an diese Abfrage erinnern!

Ziel der DB-Abfrage:

Ich möchte alle Zeilen in Tabelle1 löschen, deren IDs mit denen in Tabelle2 übereinstimmen. Dies kann wie folgt ausgedrückt werden:

DELETE table1 t1
WHERE t1.ID = t2.ID
Nach dem Login kopieren

Während der Unterabfrage-Ansatz gültig ist, werden wir untersuchen, wie wir dies mithilfe eines JOIN erreichen können, um die Leistung zu verbessern:

DB-Abfragelösung mit JOIN:

DELETE t1 
FROM Table1 t1
JOIN Table2 t2 ON t1.ID = t2.ID;
Nach dem Login kopieren

Durch die Nutzung des JOIN stellen wir eine Beziehung zwischen den Zeilen in Tabelle1 und Tabelle2 basierend auf ihren her ID-Spalte. Zeilen in Tabelle 1, die ID-Werte mit Zeilen in Tabelle 2 teilen, werden identifiziert und können gelöscht werden.

Hinweis:

  • Es wird empfohlen, Aliase in der DELETE-Anweisung zu verwenden .
  • Verhindern Sie versehentliches Löschen, indem Sie die gesamte Abfrage vor der Ausführung markieren, um zu vermeiden, dass die gesamte Tabelle gelöscht wird bestimmte Zeilen.

Das obige ist der detaillierte Inhalt vonWie lösche ich effizient Zeilen aus einer SQL-Tabelle basierend auf IDs in einer anderen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage