NATURALNE I PEŁNE ŁĄCZENIA

Ukończone

PEŁNE ZŁĄCZENIE ZEWNĘTRZNE

Element FULL OUTER JOIN, określany również jako FULL JOIN, łączy cechy zarówno LEFT JOIN, jak i RIGHT JOIN, w tym wszystkie wiersze z obu tabel w zestawie wyników.
Jeśli istnieje pasujący wiersz między tabelami na podstawie klauzuli ON, kolumny z obu tabel zostaną wypełnione. Jeśli jednak wiersz w jednej tabeli nie ma dopasowania w drugiej tabeli, kolumny z niedopasowanej tabeli wyświetlają wartości null.

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

To zapytanie łączy wszystkie wiersze z obu tabel, sales.customers i sales.orders, zapewniając, że żadne dane nie są pominięte po żadnej ze stron. Klauzula ON ustanawia relację między dwiema tabelami, pasując do kolumny customer_id .
Jeśli wiersz w jednej tabeli nie ma odpowiedniego dopasowania w drugiej tabeli, niedopasowane kolumny zwracają wartości null.
Tej metody należy użyć do kompleksowego widoku wszystkich klientów i zamówień, w tym scenariuszy, w których jeden z nich nie ma skojarzonego rekordu w drugiej.

ZŁĄCZENIE NATURALNE

NATURAL JOIN to typ sprzężenia SQL, który upraszcza proces łączenia tabel przez automatyczne dopasowywanie kolumn o tej samej nazwie i zgodnych typach danych z obu tabel. W przeciwieństwie do jawnych sprzężeń, gdzie relacja między tabelami jest definiowana przy użyciu ON klauzuli , NATURAL JOIN opiera się na nazwach kolumn w celu identyfikowania atrybutów udostępnionych. Gwarantuje to, że w zestawie wyników są uwzględniane tylko wiersze o identycznych wartościach w dopasowanych kolumnach, co skutecznie filtruje niezgodności.

Takie podejście jest przydatne, gdy połączone tabele mają jasno zdefiniowane relacje i odpowiadające sobie nazwy kolumn, ponieważ zmniejsza potrzebę ręcznej specyfikacji warunków sprzężenia.
Jednak użytkownicy muszą zachować ostrożność, ponieważ poleganie wyłącznie na nazwach kolumn może prowadzić do niezamierzonych wyników, jeśli tabele zawierają kolumny o identycznych nazwach, ale niepowiązanych danych.

SELECT c.customer_name, o.order_id
FROM sales.customers AS c
NATURAL JOIN sales.orders AS o;

To zapytanie łączy tabele sales.customers i sales.orders przez automatyczne dopasowywanie kolumn o tej samej nazwie i zgodnych typach danych, takich jak customer_id.