Lewe połączenie i lewe zewnętrzne połączenie

Anonim

Left Join vs Left Outer Join

W SQL połączenia są używane dla kombinacji rekordów pochodzących z różnych zestawów danych. Złącze może być złączem wewnętrznym lub złączem zewnętrznym. Łączenie wewnętrzne zwraca rekordy, które mają dopasowania w obu tabelach, w przeciwieństwie do łączenia zewnętrznego, które jest przeciwieństwem wewnętrznego. Łączenie zewnętrzne zwraca zatem te rekordy, które nie mają dopasowań w żadnej z tabel. Różnice między prawym złączem zewnętrznym i lewym złączem zewnętrznym są omówione poniżej.

Różnice

Jak wspomniano wcześniej, sprzężenie wewnętrzne wygeneruje tylko zestaw rekordów, który jest obecny w dwóch porównywanych tabelach. Z drugiej strony pełne sprzężenie zewnętrzne to takie, które tworzy pełny zbiór wszystkich rekordów obecnych w obu porównywanych tabelach. W przypadku braku dopasowań brakujące dopasowania będą zawierać wartość zerową.

Lewe sprzężenie zewnętrzne będzie zawierało pełny zestaw rekordów pochodzących z pierwszej tabeli, a pasujące wyniki będą dostępne wraz z wynikami w odpowiedniej tabeli. Jeśli nie ma pasujących wyników, prawa strona będzie zawierać wartość zerową. Aby utworzyć zapisy tylko w lewej tabeli, a nie w prawej tabeli, należy użyć klauzuli "gdzie".

Aby uzyskać unikalne rekordy dla tabeli po prawej stronie i po lewej stronie, zaleca się użycie pełnego połączenia zewnętrznego. Po wykonaniu pełnego sprzężenia zewnętrznego klauzula "where" służy do wykluczania wyników, które są niepożądane zarówno po stronie "prawej", jak i "lewej". Co więcej, kartezjański łącznik może być użyty, aby pomóc połączyć wszystko w lewo i prawo. Czasami nie jest to tym, czego się szuka, ale czasami pojawia się. Złącza generują potężny zestaw danych, który daje do 16 zestawów danych, często o wiele więcej, niż można się spodziewać. Mimo że otrzymujesz ogromną ilość zestawów danych, połączenia te są niezwykle niebezpieczne, ponieważ niewielka niezgodność może uszkodzić cały system.

Jeśli masz do czynienia z projektem, który również szuka kompatybilności z serwerem Microsoft SQL, to będą korzyści wynikające z użycia lewego sprzężenia zewnętrznego. Sekwencja powrotu rozpoczyna się od zwracania wewnętrznych rekordów, po których następują prawe sprzężenia rekordów i wreszcie połączenie lewych rekordów. Używanie instrukcji left join lub left external join w środowisku SQL będzie odnosić się do dokładnie tej samej instrukcji. Zasadniczo oznacza to, że nie ma różnicy co do oczekiwanego wyniku, czy używane jest lewe połączenie, czy lewe zewnętrzne sprzężenie. Wynik będzie podobny, chyba że środowisko znajduje się na serwerze Microsoft SQL. Zewnętrzne słowo kluczowe może być użyte lub pominięte bez obaw, ponieważ wyniki nie różnią się w żaden sposób.

streszczenie

Połączenia są używane w SQL do porównywania różnych zestawów danych

Łączenie wewnętrzne tworzy tylko zestaw rekordów, który jest obecny w dwóch porównywanych tabelach

Łączenie zewnętrzne generuje pełny zestaw wszystkich rekordów obecnych w obu badanych tabelach

Klauzula "where" używana do tworzenia niepowtarzalnych rekordów po użyciu pełnego sprzężenia

Łączenie kartezjańskie łączy zarówno lewy, jak i prawy element tabeli.

Istnieje znacząca różnica, gdy lewe połączenie i lewe sprzężenie zewnętrzne są używane podczas korzystania z serwera Microsoft SQL

Podsumowując, użycie lewostronnego lub lewego zewnętrznego sprzężenia odnosi się do dokładnie tej samej instrukcji. Ponieważ nie ma różnicy, zalecane jest użycie lewego zewnętrznego złącza.