sql >> Base de Datos >  >> RDS >> Oracle

Cómo usar la unión externa de Oracle con una cláusula de filtro donde

Es mucho mejor usar la sintaxis ANSI

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

También puede hacer lo mismo usando la sintaxis de Oracle, pero se vuelve un poco complicado

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

Tenga en cuenta que en ambos casos, estoy ignorando la c tabla ya que no especifica una condición de unión. Y asumo que realmente no desea unir A a B y luego generar un producto cartesiano con C.