Złączenie SQL RIGHT JOIN Zawiera wszystkie wiersze z prawej tabeli i te, które pasują z lewej strony. Dla tych, które nie pasują z prawej strony, NULL jest zwracany w odpowiednich kolumnach.

To jest kluczowa różnica między SQL RIGHT JOIN a INNER JOIN. Podczas gdy wewnętrzne złączenie zwraca tylko wiersze pasujące do warunku złączenia, w prawym zewnętrznym złączeniu, gwarantowane jest, że wszystkie wiersze prawej tabeli są zawarte w wyniku.

Sprawdź tę ilustrację:

Sprawdź wyniki dla Freda i zauważ, że nie ma pasującego produktu, jest on NULL. Również, the nie jest zawarte w wyniku.

Inna nazwa dla złączenia prawego to Złączenie zewnętrzne prawe.

Ogólna postać RIGHT JOIN to:

SELECT table1.column1, table2.column2, … FROM table1 RIGHT JOIN table2 ON table1.commonColumn = table2.commonColumn 

Notatki:

  • W tym przykładzie tabela2 jest tabelą Right, a tabela1 lewą.
  • Jeśli nie ma zgodności między wartościami commonColumn, tabela1.column1 zwraca NULL

SQL RIGHT JOIN Przykład

Nie każda osoba w bazie danych AdventureWorks jest pracownikiem. Wypiszmy każdą osobę oraz niektóre z jej danych o zatrudnieniu, jeśli takowe istnieją. W tym celu użyjemy złączenia PRAWIDŁOWEGO.

Pamiętajmy, że jest to złączenie PRAWE, ponieważ tabela osób, która posiada każdy wiersz, który chcemy zwrócić, znajduje się po prawej stronie operatora złączenia.

-Listuj wszystkie osoby i wszelkie dane dotyczące zatrudnienia, jeśli istnieją. -W tym celu użyj złączenia zewnętrznego… SELECT P.FirstName , P.LastName , E.HireDate , E.JobTitle FROM HumanResources.Employee AS E RIGHT JOIN Person.Person AS P ON P.BusinessEntityID = E.BusinessEntityID;
--List all People and any employment data, if it exists. --Use Outer Join to do so... SELECT P.FirstName , P.LastName , E.HireDate , E.JobTitle FROM HumanResources.Employee AS E RIGHT JOIN Person.Person AS P ON P.BusinessEntityID = E.BusinessEntityID; 

Spójrz na wyniki i zauważ, że dla niektórych osób występują wartości NULL. Dzieje się tak, ponieważ nie ma odpowiednich wpisów w tabeli Employee. RIGHT JOIN działa zgodnie z reklamą, zwraca wszystkie dopasowania i NULL, gdy nie ma żadnego.

Ważne punkty:

Przy pracy z RIGHT JOINS należy pamiętać, że dopasowanie z jednej tabeli do drugiej może pasować do wielu wierszy. Oznacza to, że Twój wynik może mieć więcej wierszy w wyniku, niż masz w obu tabelach.

Gdy kolumny nie pasują do siebie, zapytanie zwraca prawy wiersz i NULL dla kolumn lewej tabeli…

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.