Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment effectuer FULL OUTER JOIN dans ORACLE en utilisant l'opérateur '+'?

Vous ne pouvez pas (au moins directement). Oracle ne prend en charge qu'une jointure externe complète utilisant la syntaxe SQL:1999.

Vous pouvez le simuler en unissant deux jointures externes :

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

C'est beaucoup plus lisible en utilisant la syntaxe SQL:1999 :

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