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

Hvordan udfører man FULD YDRE JOIN i ORACLE ved hjælp af '+'-operatoren?

Det kan man ikke (i hvert fald direkte). Oracle understøtter kun en fuld ydre joinforbindelse ved hjælp af SQL:1999-syntaks.

Du kan forfalske det ved at forbinde to ydre sammenføjninger:

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

Det er meget mere læsbart ved hjælp af SQL:1999-syntaksen:

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


  1. TransactSQL for at køre et andet TransactSQL-script

  2. Udførelsessekvens for Group By, Have and Where-klausul i SQL Server?

  3. Hvordan kan jeg optimere denne forespørgsel, tager mere end et minut at udføre

  4. Brug af variabler som OFFSET i SELECT-statments inde i mysqls lagrede funktioner