Do łączenia zewnętrznego tabel używamy złączenia LEFT JOIN (oznaczanego często dokładnie LEFT OUTER JOIN) jeślli chcemy zachować niezmapowane wiersze z tabeli z lewej strony łączenia lub złączenia RIGHT JOIN (oznaczanego często dokładnie RIGHT OUTER JOIN) jeślli chcemy zachować niezmapowane wiersze z tabeli z prawej strony łączenia.
select
*
from tabela1 p LEFT JOIN tabela2 r on p.kolumna_tab1 = r.kolumna_tab2
select
*
from tabela1 p RIGHT JOIN tabela2 r on p.kolumna_tab1 = r.kolumna_tab2
Połączenie prawostronne RIGHT JOIN możemy także otrzymać stosując poniższy zapis
select
*
from tabela1 p, tabela2 r
where
p.kolumna_tab1 (+)= r.kolumna_tab2
Możliwe jest także otrzymanie niezmapowanych wierszy z obu tabel. Stosujemy do tego polecenie FULL JOIN (oznaczane często dokładnie FULL OUTER JOIN)
select
*
from tabela1 p FULL JOIN tabela2 r on p.kolumna_tab1 = r.kolumna_tab2
Ilustracje pobrane z https://www.youtube.com/watch?v=yNThOAuZtC0