SPRZĘŻENIA OD LEWEJ I PRAWEJ

Ukończone

SPRZĘŻENIA Z LEWEJ

LEFT JOIN, znany również jako LEFT OUTER JOIN, jest rodzajem operacji SQL, która zachowuje wszystkie wiersze z lewej (lub pierwszej) tabeli w zapytaniu, niezależnie od tego, czy istnieje pasujący wiersz w tabeli po prawej stronie (lub drugiej). Po znalezieniu dopasowania kolumny z prawej tabeli są wypełniane odpowiednimi wartościami. Jeśli jednak nie istnieje dopasowanie, wynik zawiera wartości null w kolumnach pochodzących z prawej tabeli.
To sprzężenie jest przydatne, gdy musisz utworzyć kompleksową listę z jednej tabeli podczas dołączania powiązanych danych z innej, nawet jeśli takie relacje są niekompletne lub nieobecne.

SELECT customers.customer_name, orders.order_id
FROM sales.customers AS customers
LEFT JOIN sales.orders AS orders ON customers.customer_id = orders.customer_id;

Zapytanie SQL przy użyciu LEFT JOIN pobiera wszystkich klientów z tabeli sales.customers, w tym tych bez pasujących zamówień w tabeli sales.orders. Klauzula ON określa, że customer_id pole łączy dwie tabele.
Dla klientów, którzy złożyli zamówienia, order_id z tabeli orders zostanie wyświetlone. Jeśli jednak klient nie ma żadnych zamówień, wynik nadal uwzględnia klienta, a kolumna order_id zawiera wartości null.

SPRZĘŻENIA PRAWE

Element RIGHT JOIN, znany również jako , jest operacją RIGHT OUTER JOINSQL, która gwarantuje, że wszystkie wiersze z tabeli po prawej stronie (lub drugiej) są uwzględnione w wyniku, niezależnie od tego, czy istnieje pasujący wiersz w tabeli po lewej stronie (lub pierwszej).
W przypadkach, gdy nie znaleziono dopasowania, kolumny z lewej tabeli wyświetlają wartości null. Ten typ sprzężenia jest często używany do skoncentrowania się na danych w prawej tabeli, a także dołączaniu informacji z lewej tabeli, gdzie istnieją relacje.

SELECT customers.customer_name, orders.order_id
FROM sales.customers AS customers
RIGHT JOIN sales.orders AS orders ON customers.customer_id = orders.customer_id;

To zapytanie pobiera wszystkie wiersze z sales.orders tabeli, zapewniając, że każde zamówienie jest uwzględnione w wyniku, nawet jeśli w tabeli nie ma skojarzonego sales.customers wpisu.
Klauzula ON określa relację między dwiema tabelami za pośrednictwem kolumny customer_id . Jeśli zamówienie ma odpowiedniego klienta, kolumna customer_name zostanie wypełniona wartością customer_name, wartości null są wyświetlane dla niedopasowanych rekordów.