Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como executar FULL OUTER JOIN no ORACLE usando o operador '+'?


Você não pode (pelo menos diretamente). O Oracle suporta apenas uma junção externa completa usando a sintaxe SQL:1999.

Você pode fingir unindo duas junções 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

É muito mais legível usando a sintaxe SQL:1999:
select a.field1, b.field2
from table_a a full outer join table_b b
on a.id = b.id