Różnice między łączeniem lewej i prawej strony

Połącz lewy kontra prawy

W przypadku języka SQL sprzężenia to często spotykane nazwy, które pojawiają się od czasu do czasu. Klauzula łączenia pomaga w kombinacji rekordów z różnych tabel w zestawie danych. Efekt łączenia tworzy tabelę, która może być używana jako taka lub rozwijana z innymi. Dlatego wskazane jest zrozumienie tych połączeń i różnic między nimi, aby poznać konkretne połączenie, a także czy w prawo lub w lewo należy brać w szczególnych przypadkach.

Aby lepiej zrozumieć sprzężenia i ich różnice, ważne jest, aby zrozumieć rodzaje dostępnych sprzężeń. Istnieją na ogół trzy rodzaje złączeń. Połączenia te obejmują połączenie wewnętrzne, połączenie krzyżowe i połączenie zewnętrzne. Sprzężenie wewnętrzne zasadniczo porównuje tabele i daje lub zwraca wynik tylko w przypadku znalezienia dopasowania. Główną funkcją połączenia wewnętrznego jest zmniejszenie rozmiaru zestawów wyników.

Z drugiej strony połączenia krzyżowe porównują dwie tabele i dają zwrot każdej możliwej kombinacji pochodzącej z rzędów obu tabel. Oczekiwane są liczne wyniki tego połączenia, a większość z nich może nawet nie mieć znaczenia. Należy zatem ostrożnie ćwiczyć korzystanie z tego łączenia.

Sprzężenie zewnętrzne dokonuje porównania tabel i zwraca dane, gdy dopasowanie jest dostępne. Podobnie jak w złączeniu wewnętrznym, łączenie zewnętrzne powiela wiersze w danej tabeli w przypadku, gdy zostaną wyświetlone pasujące rekordy. Wyniki połączeń zewnętrznych są zwykle większe, a zatem zestawy danych są duże, ponieważ zestaw sam w sobie nie jest usuwany z zestawu.

Lewe złączenie odnosi się do przechowywania wszystkich rekordów z pierwszej tabeli niezależnie od wyniku oraz wstawiania wartości NULL, gdy wartości drugiej tabeli nie są zgodne. Z drugiej strony prawidłowe sprzężenie odnosi się do przechowywania wszystkich rekordów pochodzących z 2. tabeli niezależnie od wyniku i zastosowania wartości NULL, gdy wyniki nie pasują do wyników w 1. tabeli.

Dlatego lewe łączenie zewnętrzne zachowuje wszystkie wiersze, które znajdują się w tabeli „lewej”, niezależnie od tego, czy wiersz „pasuje” do tabeli „prawej”. Lewa tabela odnosi się zatem do tabeli, która jest pierwsza we wspólnym zestawieniu. Powinien pojawić się po lewej stronie słowa kluczowego „łączyć” występującego w tabeli. Po wykonaniu lewego sprzężenia zewnętrznego wszystkie wiersze od lewej powinny zostać zwrócone. Niepasujące kolumny w tabeli będą wypełnione wartością NULL, ilekroć nie ma dopasowania.

Należy zauważyć, że w przypadku tych dwóch złączeń wszystkie rzędy z lewej strony tabeli są pokazane w tabeli w lewym złączeniu zewnętrznym. Wyniki wyświetlają się niezależnie od tego, czy w odpowiedniej tabeli znajdują się pasujące kolumny. W prawym łączeniu zewnętrznym wyświetlane są wszystkie wiersze z prawej strony, niezależnie od tego, czy po lewej stronie tabeli znajdują się pasujące kolumny.

Wybór, czy wybrać lewe zewnętrzne połączenie, czy prawe zewnętrzne połączenie, nie ma znaczenia, ponieważ wyświetlane są te same wyniki. Funkcjonalność, którą przedstawia prawe łączenie zewnętrzne, jest taka sama, jak lewe łączenie zewnętrzne. Po prostu zmieniając kolejność, w jakiej tabele pojawiają się w instrukcji SQL, można oczekiwać podobnych wyników, niezależnie od zastosowanego sprzężenia.

streszczenie

Połączenia występują w trzech głównych grupach - łączenie wewnętrzne, łączenie krzyżowe i łączenie zewnętrzne

Lewe sprzężenie zewnętrzne wyświetla wszystkie wiersze z lewej strony tabeli

Prawe połączenie wyświetla wszystkie wiersze z prawej strony tabeli

Naprzemienne sekwencje SQL mogą wyeliminować użycie prawego i lewego sprzężenia zewnętrznego, a zamiast tego użyć tylko jednego.