I have the following code that works fine in MS SQL Server:

```
delete grp
from grp
left join my_data
on grp.id1 = my_data.id1
and grp.id2 = my_data.id2
and grp.id3 = my_data.id3
and grp.id4 = my_data.id4
where my_data.id1 is NULL

```

Basically, I want to delete all occurrence that can be found in `grp` and don't have any equivalence `in my_data`. Sadly, it doesn't work in Oracle 10g. I tried using the old syntax for left join (+) but it doesn't work either. Like this:

```
delete grp
from grp,
my_data
where grp.id1 = my_data.id1 (+)
and grp.id2 = my_data.id2 (+)
and grp.id3 = my_data.id3 (+)
and grp.id4 = my_data.id4 (+)
and my_data.id1 is NULL

```

A `IN` clause would works if I didn't have multiple keys but I don't see how I could use it with my data. So, what is the alternative?