Oracle
 sql >> Database >  >> RDS >> Oracle

Come utilizzare Oracle outer join con una clausola where di filtro

È molto meglio usare la sintassi ANSI

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

Puoi fare la stessa cosa anche usando la sintassi di Oracle, ma diventa un po' strano

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

Nota che in entrambi i casi sto ignorando il c tabella poiché non specifichi una condizione di join. E presumo che tu non voglia davvero unire da A a B e quindi generare un prodotto cartesiano con C.