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

¿Cómo realizar FULL OUTER JOIN en ORACLE usando el operador '+'?

No puedes (al menos directamente). Oracle solo admite una combinación externa completa utilizando la sintaxis SQL:1999.

Puedes falsificarlo uniendo dos uniones externas:

select a.field1, b.field2
from table_a a, table_b b
where a.id = b.id(+)
union all 
select a.field1, b.field2
from table_a a, table b b
where a.id(+) = b.id
      and a.id is null

Es mucho más legible usando la sintaxis SQL:1999:

select a.field1, b.field2
from table_a a full outer join table_b b
on a.id = b.id