sql >> Database >  >> RDS >> Oracle

Hoe Oracle outer join te gebruiken met een filter waarbij clausule

Je kunt veel beter de ANSI-syntaxis gebruiken

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

Je kunt hetzelfde doen met de syntaxis van Oracle, maar het wordt een beetje hinkey

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

Merk op dat ik in beide gevallen de c . negeer table omdat u geen join-voorwaarde opgeeft. En ik neem aan dat je niet echt A naar B wilt samenvoegen en dan een Cartesiaans product met C wilt genereren.



  1. Een betere manier om meerdere MySQL-opdrachten uit te voeren met behulp van shellscript

  2. Hoe rechtvaardigt_interval() werkt in PostgreSQL

  3. PostgreSQL vergelijk twee jsonb-objecten

  4. Mysql genest selecteren