Równozłączenie
Złączenie naturalne
Złączenie zewnętrzne jest definiowane tak, aby zachowywać w wyniku wszystkie wiersze z relacji R lub S, lub z obydwu, bez względu na to, czy mają odpowiadające sobie wiersze w drugiej relacji, czy nie (brakujące wartości w polach krotek wynikowych, które odpowiadają atrybutom drugiej relacji, są wypełniane wartościami NULL) lewostronne (naturalne) prawostronne dwustronne (pełne)
Lewostronne (naturalne) złączenie zewnętrzne to złączenie, w którym do relacji wynikowej są włączane również takie krotki z relacji R, dla których w relacji S nie występują wartości wspólnych atrybutów
R |
S | ||
A |
B |
B |
C |
a |
1 |
1 |
X |
b |
2 |
1 |
Y |
2 |
z |
RxS | ||
A |
B |
C |
a |
1 |
X |
a |
1 |
Y |
b |
2 |
Składnia:
LEFT JOIN tabela 1 [kolumna_złączenia] WITH tabela2 [kolumna_złączenia]-*tabela_wynikowa W SQL:
SELECT lista_kolumn FROM tabelal LEFT(OUTER) JOIN tabela2 ON warunek
Prawostronne złączenie zewnętrzne - podobnie jak poprzednio, ale wszystko od prawej strony.
Składnia:
RIGHT JOIN tabelal [kolumna_złączenia] WITH tabela2 [kolumna_złączenia]-*tabela_wynikowa W SQL:
SELECT lista_kolumn FROM tabelal RIGHT(OUTER) JOIN tabela2 ON warunek
Pełne (dwustronne) złączenie zewnętrzne to złączenie, w którym do relacji wynikowej włączane są wszystkie krotki obydwu relacji.
Składnia:
FULL JOIN tabelal [kolumna_złączenia] WITH tabela2 [kolumna_złączenia]— tabela_wynikowa W SQL:
SELECT lista_kolumn FROM tabelal FULL(OUTER) JOIN tabela2 ON warunek ! przerobić operacje złożone !