Det fungerer som forventet på grund af korrelationen mellem kolonne A i den indre forespørgsel til den ydre.
Dette almindeligt anvendte korrelerede forespørgselsmønster er gyldigt
DELETE TableA WHERE NOT EXISTS (select * from TableB where TableB.ID=TableA.ID)
Det fjerner TabelA-poster, der ikke har en afhængig post i TabelB.
Det viser, at du kan referere til TabelA-kolonner i en korreleret forespørgsel. I din forespørgsel
delete TableA where ColumnA in (select ColumnA from TableB)
Den indre forespørgsel producerer
- en række for hver post i tabelB
- en kolonne for hver række, hvis værdi er ColumnA fra ydre forespørgsel
Så SLET går igennem