Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So verwenden Sie Oracle Outer Join mit einer Filter-Where-Klausel

Sie sind viel besser dran, wenn Sie die ANSI-Syntax verwenden

SELECT *
  FROM a
       LEFT OUTER JOIN b ON( a.id = b.id and
                             b.val = 'test' )

Sie können das Gleiche auch mit der Oracle-Syntax tun, aber es wird ein bisschen hinkey

SELECT *
  FROM a, 
       b
 WHERE a.id = b.id(+)
   AND b.val(+) = 'test'

Beachten Sie, dass ich in beiden Fällen c ignoriere Tabelle, da Sie keine Join-Bedingung angeben. Und ich gehe davon aus, dass Sie nicht unbedingt A mit B verbinden und dann mit C ein kartesisches Produkt erzeugen wollen.