Shannons løsning er vejen at gå:brug operatøren NOT IN (eller IKKE EKSISTERER).
Du kan dog slette eller opdatere en join i Oracle, men syntaksen er ikke den samme som MS SQL Server:
SQL> DELETE FROM (SELECT grp.*
2 FROM grp
3 LEFT JOIN my_data ON grp.id1 = my_data.id1
4 AND grp.id2 = my_data.id2
5 AND grp.id3 = my_data.id3
6 AND grp.id4 = my_data.id4
7 WHERE my_data.id1 IS NULL);
2 rows deleted
Derudover vil Oracle kun lade dig opdatere en joinforbindelse, hvis der ikke er nogen tvetydighed om, hvilken basisrække sætningen vil få adgang til. Især vil Oracle ikke risikere en opdatering eller en sletning (sætningen vil mislykkes), hvis der er mulighed for, at en række kan optræde to gange i joinforbindelsen. I dette tilfælde vil sletningen kun fungere, hvis der er en UNIK begrænsning på my_data(id1, id2, id3, id4).