Shrnutí: v tomto tutoriálu, se dozvíte o SQL Server LEFT JOIN
klauzule a jak používat to, aby data dotazu z více tabulek.
Úvod do klauzule levého spojení SQL Serveru
klauzuleLEFT JOIN
umožňuje dotazovat data z více tabulek. Vrací všechny řádky z levé tabulky a odpovídající řádky z pravé tabulky. Pokud se v pravé tabulce nenacházejí žádné odpovídající řádky, použije se NULL
.,
následující příklad ilustruje, jak připojit dvě tabulky T1 a T2 pomocí LEFT JOIN
článek:
Code language: SQL (Structured Query Language) (sql)
V této syntaxi, T1 a T2 jsou levé a pravé tabulky v tomto pořadí.
pro každý řádek z tabulky T1 jej dotaz porovnává se všemi řádky z tabulky T2. Pokud pár řádků způsobí, že predikát spojení vyhodnotit, do TRUE
, ve sloupci hodnot z těchto řádků budou kombinovány k vytvoření nové řady, které pak zahrnuty v sadě výsledků.,
Pokud je řádek v levé tabulce (T1), nemá žádný odpovídající řádek z tabulky T2, dotaz kombinuje hodnoty sloupce řádku od levé tabulce s NULL
pro každý sloupec hodnoty z pravé tabulka.
stručně řečeno, LEFT JOIN
klauzule vrátí všechny řádky z levé tabulka (T1) a odpovídající řádky nebo NULL
hodnoty z pravé tabulky (T2).
následující ilustruje LEFT JOIN
dvou tabulek T1(1, 2, 3) a T2(A, B, C)., LEFT JOIN
se bude shodovat řádky z tabulky T1 s řádky z T2 tabulky pomocí vzorce:
Na tomto obrázku, žádný řádek z T2 tabulce odpovídá 1 řádek z tabulky T1, proto je NULL, je použit. Řádky 2 a 3 z tabulky T1 odpovídají řádkům a A B z tabulky T2.,
SQL Server left JOIN příklad
Viz následující products
order_items
tabulky:
Všechny prodejní objednávky položka zahrnuje jeden produkt. Spojení meziorder_items
aproducts
tabulkami je sloupecproduct_id
.,
následující prohlášení používá LEFT JOIN
klauzule dotazu data od products
order_items
stoly:
Jak budete jasně vidět z výsledku nastavit seznam NULL
order_id
sloupec označuje, že odpovídající výrobky nebyly prodávány na každého zákazníka.
klauzuliWHERE
je možné použít k omezení sady výsledků., Následující dotaz vrací produktů, které se neobjevují v žádné prodejní objednávky:
Jako vždy, SQL Server procesy WHERE
doložka po LEFT JOIN
klauzule.,
The following example shows how to join three tables: production.products
, sales.orders
, and sales.order_items
using the LEFT JOIN
clauses:
Here is the output:
SQL Server LEFT JOIN: conditions in ON vs., Tam, KDE ustanovení
následující dotaz najde produkty, které patří do řádu id 100:
Pojďme se přesunout podmínku order_id = 100
ON
článek:
dotaz vráceny všechny produkty, ale pouze na objednávku s id 100 se související produktové informace.,
Všimněte si, že pro INNER JOIN
klauzule, stav v ON
klauzule je funkčně rovnocenné, pokud je umístěn v WHERE
klauzule.
v tomto tutoriálu jste se naučili používat klauzuli SQL Server LEFT JOIN
k načtení dat z více souvisejících tabulek.
Napsat komentář