A solução de Shannon é o caminho a seguir:use o operador NOT IN (ou NOT EXISTS).
No entanto, você pode excluir ou atualizar uma junção no Oracle, mas a sintaxe não é a mesma do 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
Além disso, o Oracle só permitirá que você atualize uma junção se não houver ambiguidade sobre qual linha base será acessada pela instrução. Em particular, o Oracle não arriscará uma atualização ou uma exclusão (a instrução falhará) se houver a possibilidade de uma linha aparecer duas vezes na junção. Nesse caso, a exclusão só funcionará se houver uma restrição UNIQUE em
my_data(id1, id2, id3, id4).