SQL OUTER JOIN (Polski)
Podsumowanie: w tym samouczku dowiesz się, jak używać sprzężenia zewnętrznego SQL, w tym lewej pełne sprzężenie zewnętrzne.
Jeśli chcesz dowiedzieć się więcej o SQL INNER JOIN, zapoznaj się z samouczkiem SQL INNER JOIN.
Istnieją trzy rodzaje sprzężenia zewnętrznego: lewe sprzężenie zewnętrzne, prawe połączenie zewnętrzne i pełne połączenie zewnętrzne. Przyjrzyjmy się bardziej szczegółowo każdemu rodzajowi sprzężenia.
SQL OUTER JOIN – lewe sprzężenie zewnętrzne
Lewe sprzężenie zewnętrzne SQL jest również znane jako lewe sprzężenie SQL. Załóżmy, że chcemy połączyć dwie tabele: A i B. Lewe sprzężenie zewnętrzne SQL zwraca wszystkie wiersze w lewej tabeli (A) i wszystkie pasujące wiersze znalezione w prawej tabeli (B). Oznacza to, że wynik lewego sprzężenia SQL zawsze zawiera wiersze z lewej tabeli.
Poniższy rysunek ilustruje lewą zewnętrzną składnię SQL łączenia 2 tabel: table_A i table_B:
1
2
3
4
|
SELECT column1, column2 …
FROM table_A
LEFT JOIN table_B ON join_condition
WHERE row_condition
|
SQL OUTER JOIN – przykład lewego zewnętrznego sprzężenia
Poniższe zapytanie wybiera wszystkich klientów i ich zamówienia:
1
2
3
4
5
6
|
SELECT c.customerid,
c.companyName,
orderid
OD klientów c
LEFT DOŁĄCZ zamówienia o ON o.customerid = c .customerid
ORDER BY identyfikator zamówienia
|
Wyświetlane są wszystkie wiersze w tabeli klientów. W przypadku, gdy nie ma pasującego wiersza w tabeli zamówień znalezionej dla wiersza w tabeli klientów, kolumna identyfikatora zamówienia w tabeli zamówień jest wypełniona wartościami NULL.
Możemy użyć diagramu Venna, aby zwizualizować, jak SQL LEFT OUTER JOIN działa.
SQL OUTER JOIN – prawe sprzężenie zewnętrzne
Prawe sprzężenie zewnętrzne SQL zwraca wszystkie wiersze z prawej tabeli i wszystkie pasujące wiersze znalezione w lewej tabeli. Składnia prawego sprzężenia zewnętrznego SQL jest następująca:
1
2
3
4
|
SELECT kolumna1, kolumna2 …
FROM table_A
PRAWO DOŁĄCZ table_B ON join_condition
WHERE row_condition
|
Prawe sprzężenie zewnętrzne SQL jest również znane jako sprzężenie prawe SQL.
SQL OUTER JOIN – przykład prawego sprzężenia zewnętrznego
Poniższy przykład ilustruje Prawe sprzężenie zewnętrzne SQL:
1
2
3
4
5
6
|
SELECT c.customerid,
c.companyName,
orderi d
OD klientów c
PRAWO DOŁĄCZ zamówienia o ON o.customerid = c.customerid
ORDER BY orderid
|
Zapytanie zwraca wszystkie wiersze w tabeli zamówień i wszystkie pasujące wiersze w tabeli klientów.
Poniższy diagram Venna ilustruje sposób działania prawego sprzężenia zewnętrznego SQL:
SQL OUTER JOIN – pełne sprzężenie zewnętrzne
Składnia pełnego sprzężenia zewnętrznego SQL jest następująca:
1
2
3
4
|
SELECT kolumna1, kolumna2 …
FROM table_A
FULL OUTER DOŁĄCZ table_B ON join_condition
WHERE row_condition
|
Pełne sprzężenie zewnętrzne SQL zwraca:
- all ro ws w lewej tabeli tabela_A.
- wszystkie wiersze w prawej tabeli tabela_B.
- i wszystkie pasujące wiersze w obu tabelach.
Niektóre bazy danych systemy zarządzania nie obsługują pełnej składni sprzężenia zewnętrznego SQL, np. MySQL. Ponieważ pełne sprzężenie zewnętrzne SQL zwraca zestaw wyników, który jest połączonym wynikiem sprzężenia SQL lewostronnego i prawego sprzężenia SQL.Dlatego możesz łatwo emulować pełne sprzężenie zewnętrzne SQL za pomocą lewego sprzężenia SQL i prawego sprzężenia SQL z operatorem UNION w następujący sposób:
SQL OUTER JOIN – przykład pełnego sprzężenia zewnętrznego
Poniższe zapytanie demonstruje pełne sprzężenie zewnętrzne SQL:
1
2
3
4
5
6
|
SELECT c.customerid,
c.companyName,
orderid
OD klientów c
FULL OUTER DOŁĄCZ zamówienia o ON o.customerid = c.customerid
ORDER BY orderid
|
Poniższy diagram Venna ilustruje, jak działa pełne sprzężenie zewnętrzne SQL:
W tym samouczku poznałeś różne SQL OUTER JOIN, w tym łączenie lewe SQL, łączenie SQL prawe join i pełne sprzężenie zewnętrzne SQL.
- Czy ten samouczek był pomocny?
- TakNie