Podsumowanie: w tym samouczku dowiesz się, jak używać klauzuli SQL Server RIGHT JOIN
do odpytywania danych z dwóch tabel.
Wprowadzenie do klauzuli SQL Server RIGHT JOIN
Klauzula RIGHT JOIN
łączy dane z dwóch lub więcej tabel. Klauzula RIGHT JOIN
rozpoczyna wybieranie danych z prawej tabeli i dopasowywanie ich do wierszy z lewej tabeli. Klauzula RIGHT JOIN
zwraca zestaw wyników, który zawiera wszystkie wiersze w prawej tabeli, niezależnie od tego, czy mają one pasujące wiersze z lewej tabeli, czy nie. Jeśli wiersz w prawej tabeli nie ma pasujących wierszy z lewej tabeli, kolumna lewej tabeli w zbiorze wyników będzie miała wartości null.
Poniżej przedstawiono składnię klauzuli RIGHT JOIN
:
Code language: SQL (Structured Query Language) (sql)
W tej składni, T1 jest lewą tabelą, a T2 jest prawą tabelą.
Zauważ, że RIGHT JOIN
i RIGHT OUTER JOIN
są takie same. Słowo kluczowe OUTER
jest opcjonalne.
Następujący diagram Venna ilustruje operację RIGHT JOIN
:

PrzykładSQL Server RIGHT JOIN
Do demonstracji użyjemy tabel sales.order_items
i production.products
z przykładowej bazy danych.

Następujące zapytanie zwraca wszystkie order_id
z tabeli sales.order_items
oraz nazwę produktu z tabeli production.products
:
Code language: SQL (Structured Query Language) (sql)
Oto dane wyjściowe:

Kwerenda zwróciła wszystkie wiersze z tabeli production.products
(prawa tabela) oraz wiersze z tabeli sales.order_items
(lewa tabela). Jeśli produkt nie posiada żadnej sprzedaży, kolumna order_id
będzie miała wartość null.
Aby uzyskać produkty, które nie mają żadnej sprzedaży, dodajemy klauzulę WHERE
do powyższego zapytania, aby odfiltrować produkty, które mają sprzedaż:
Code language: SQL (Structured Query Language) (sql)
Następujący rysunek przedstawia dane wyjściowe:

Następujący diagram Venna ilustruje powyższą operację RIGHT JOIN
:

W tym samouczku dowiedziałeś się, jak wykorzystać SQL Server RIGHT JOIN
do zapytania o dane z dwóch tabel.