Solusi Shannon adalah caranya:gunakan operator NOT IN (atau NOT EXISTS).
Namun Anda dapat menghapus atau memperbarui gabungan di Oracle, tetapi sintaksnya tidak sama dengan 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
Selain itu, Oracle hanya akan mengizinkan Anda memperbarui gabungan jika tidak ada ambiguitas baris dasar mana yang akan diakses oleh pernyataan. Secara khusus, Oracle tidak akan mengambil risiko pembaruan atau penghapusan (pernyataan akan gagal) jika ada kemungkinan bahwa baris akan muncul dua kali dalam gabungan. Dalam hal ini, penghapusan hanya akan berfungsi jika ada batasan UNIK pada my_data(id1, id2, id3, id4).