Szenario:
Nehmen wir an, ich habe zwei Tabellen, TabelleA und TabelleB. Der Primärschlüssel von TabelleB ist eine einzelne Spalte (BId) und ist eine Fremdschlüsselspalte in TabelleA.
In meiner Situation möchte ich alle Zeilen in TabelleA entfernen, die mit bestimmten Zeilen in TabelleB verknüpft sind: Kann ich das durch Joins erreichen? Alle Zeilen löschen, die aus den Joins gezogen werden?
DELETE FROM TableA
FROM
TableA a
INNER JOIN TableB b
ON b.BId = a.BId
AND [my filter condition]
Oder bin ich gezwungen, dies zu tun:
DELETE FROM TableA
WHERE
BId IN (SELECT BId FROM TableB WHERE [my filter condition])
Der Grund für meine Frage ist, dass mir die erste Option bei größeren Tabellen viel effizienter zu sein scheint.
Gracias.