Po prostu baw się zapytaniami i przykładami, aby lepiej zrozumieć sprzężenia. Zauważam, że w SQL Server 2008 następujące dwa zapytania dają takie same wyniki:
SELECT * FROM TableA
FULL OUTER JOIN TableB
ON TableA.name = TableB.name
SELECT * FROM TableA
FULL JOIN TableB
ON TableA.name = TableB.name
Czy wykonują one dokładnie to samo działanie, aby uzyskać te same wyniki, czy też napotkałbym różne wyniki w bardziej skomplikowanym przykładzie? Czy to tylko wymienna terminologia?
sql
sql-server-2008
tsql
join
CptSupermrkt
źródło
źródło
Odpowiedzi:
Właściwie są takie same.
LEFT OUTER JOIN
jest taki sam jakLEFT JOIN
iRIGHT OUTER JOIN
taki sam jakRIGHT JOIN
. Jest to bardziej pouczający sposób na porównanieINNER Join
.Szczegółowe informacje można znaleźć w tym artykule w Wikipedii .
źródło
Z MSDN
Funkcja
full outer join
orfull join
zwraca wszystkie wiersze z obu tabel, dopasowując wiersze wszędzie tam, gdzie można dopasować, i umieszczającNULL
s w miejscach, w których nie istnieje pasujący wiersz.źródło
Prawdą jest, że niektóre bazy danych rozpoznają słowo kluczowe OUTER. Niektórzy nie. Tam, gdzie jest rozpoznawane, zwykle jest to opcjonalne słowo kluczowe. Prawie zawsze FULL JOIN i FULL OUTER JOIN robią dokładnie to samo. (Nie mogę wymyślić przykładu, w którym tak nie jest. Czy ktoś może wymyślić jeden?)
To może sprawić, że zaczniesz się zastanawiać: „Dlaczego miałoby to być słowo kluczowe, jeśli nie ma znaczenia?” Odpowiedź sprowadza się do stylu programowania.
W dawnych czasach programiści starali się, aby ich kod był jak najmniejszy. Każda postać oznaczała dłuższy czas przetwarzania. Użyliśmy zmiennych 1, 2 i 3 literowych. Użyliśmy 2-cyfrowych lat. Wyeliminowaliśmy wszystkie niepotrzebne odstępy. Niektórzy ludzie nadal programują w ten sposób. Nie chodzi już o czas przetwarzania. Chodzi bardziej o szybkie kodowanie.
Współcześni programiści uczą się używać bardziej opisowych zmiennych i umieszczać więcej uwag i dokumentacji w swoim kodzie. Używając dodatkowych słów, takich jak OUTER, upewnij się, że inne osoby, które czytają kod, będą miały łatwiejszy czas na jego zrozumienie. Będzie mniej niejasności. Ten styl jest dużo bardziej czytelny i milszy dla ludzi w przyszłości, którzy będą musieli utrzymywać ten kod.
źródło