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ář