title: Delete with Left Join in Oracle 10g
body: <p>I have the following code that works fine in MS SQL Server:</p>
  
  <pre><code>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
  </code></pre>
  
  <p>Basically, I want to delete all occurrence that can be found in <code>grp</code> and don't have any equivalence <code>in my_data</code>. 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:</p>
  
  <pre><code>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
  </code></pre>
  
  <p>A <code>IN</code> 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?</p>