Shrnutí: v tomto kurzu se naučíte používat klauzuli SQL Server RIGHT JOIN
k dotazování dat ze dvou tabulek.
Úvod do klauzule SQL Server RIGHT JOIN
Klauzule RIGHT JOIN
spojuje data ze dvou nebo více tabulek. Klauzule RIGHT JOIN
začne vybírat data z pravé tabulky a párovat je s řádky z levé tabulky. Klauzule RIGHT JOIN
vrací množinu výsledků, která obsahuje všechny řádky pravé tabulky bez ohledu na to, zda mají shodné řádky z levé tabulky. Pokud řádek v pravé tabulce nemá žádné odpovídající řádky z levé tabulky, bude sloupec levé tabulky v množině výsledků obsahovat nuly.
Následující příklad ukazuje syntaxi klauzule RIGHT JOIN
:
Code language: SQL (Structured Query Language) (sql)
V této syntaxi je T1 levá tabulka a T2 pravá tabulka.
Všimněte si, že RIGHT JOIN
a RIGHT OUTER JOIN
je totéž. Klíčové slovo OUTER
je nepovinné.
Následující Vennův diagram znázorňuje operaci RIGHT JOIN
:
SQL Server RIGHT JOIN example
Pro ukázku použijeme tabulky sales.order_items
a production.products
z ukázkové databáze.
Následující příkaz vrátí všechny order_id
z tabulky sales.order_items
a název produktu z tabulky production.products
:
Code language: SQL (Structured Query Language) (sql)
Tady je výstup:
Dotaz vrátil všechny řádky z tabulky production.products
(pravá tabulka) a řádky z tabulky sales.order_items
(levá tabulka). Pokud produkt nemá žádné prodeje, bude mít sloupec order_id
nulovou hodnotu.
Chcete-li získat produkty, které nemají žádné prodeje, přidáte do výše uvedeného dotazu klauzuli WHERE
, která odfiltruje produkty, které mají prodeje:
Code language: SQL (Structured Query Language) (sql)
Následující obrázek ukazuje výstup:
Následující Vennův diagram znázorňuje výše uvedenou operaci RIGHT JOIN
:
V tomto kurzu jste se naučili používat RIGHT JOIN
SQL Serveru k dotazování dat ze dvou tabulek.