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

Come eseguire FULL OUTER JOIN in ORACLE usando l'operatore '+'?

Non puoi (almeno direttamente). Oracle supporta solo un join esterno completo utilizzando la sintassi SQL:1999.

Puoi simularlo unendo due outer join:

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

È molto più leggibile usando la sintassi SQL:1999:

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