Welcome to Our Website

SQL Server CTE (Čeština)

Shrnutí: v tomto tutoriálu, se dozvíte o společné tabulka výraz, nebo CTE v serveru SQL Server pomocí WITH klauzule.

Úvod do CTE v SQL Serveru

CTE je zkratka pro Common table expression. CTE umožňuje definovat dočasnou pojmenované sady výsledků, které jsou nabízeny jak dočasně, při výkonu působnosti prohlášení, například SELECT INSERT UPDATE DELETE nebo MERGE.,

následující ukazuje společné syntaxe CTE v SQL Serveru:

Code language: SQL (Structured Query Language) (sql)

V této syntaxi:

  • za Prvé, zadejte název výrazu (expression_name), na které můžete odkazovat později v dotazu.
  • dále zadejte seznam sloupců oddělených čárkami za název_expression_name. Počet sloupců musí být stejný jako počet sloupců definovaných v CTE_definition.
  • poté použijte klíčové slovo AS za názvem výrazu nebo seznamem sloupců, pokud je zadán seznam sloupců.,
  • Po, definujteSELECT příkaz, jehož sada výsledků vyplňuje společný výraz tabulky.
  • Konečně, vztahují se na společné tabulka výraz v dotazu (SQL_statement), například SELECT INSERT UPDATE DELETE nebo MERGE.

raději používáme běžné výrazy v tabulce, než abychom používali subqueries, protože běžné výrazy v tabulce jsou čitelnější., Používáme také CTE v dotazech, které obsahují analytické funkce (nebo funkce okna)

SQL Server CTE příklady

Vezměme si některé příklady použití běžných výrazů tabulky.

A) Jednoduché SQL Server CTE příklad

Tento dotaz používá CTE vrátit prodejní částky z prodeje štáby v roce 2018:

následující obrázek ukazuje výsledek nastavení:

V tomto příkladu:

  • Nejprve jsme definovali cte_sales_amounts jak už název společné tabulka výraz., CTE vrátí výsledek, že se skládá ze tří sloupců staff year sales odvozen z definice dotazu.
  • za Druhé, vytvořili jsme dotaz, který vrátí celkovou částku prodeje prostřednictvím prodejní personál a rok pomocí dotazu data od orders order_items staffs tabulky.
  • za třetí jsme ve vnějším dotazu označili CTE a vybrali pouze řádky, jejichž rok je 2018.,

poznamenal, že tento příklad je pouze pro demonstrační účel, který vám pomůže postupně pochopit, jak běžné výrazy tabulky fungují. Existuje optimálnější způsob, jak dosáhnout výsledku bez použití CTE.

B) Použití společné tabulka výraz, aby se zpráva průměry na základě počítá

Tento příklad používá CTE vrátit průměrný počet prodejních objednávek v roce 2018 pro všechny prodejní personál.

výstup:

Code language: SQL (Structured Query Language) (sql)

V tomto příkladu:

za Prvé, jsme použili cte_sales jak už název společné tabulka výraz., Přeskočili jsme seznam sloupců CTE, takže je odvozen z definice CTE. V tomto příkladu obsahujestaff_id aorder_count sloupce.

za druhé, pomocí následujícího dotazu definujeme sadu výsledků, která vyplňuje společný výraz tabulky cte_sales. Dotaz vrací počet objednávek v roce 2018 prodejními pracovníky.

za třetí, odkazujeme na cte_sales ve vnějším prohlášení a pomocí funkce AVG() získáte průměrnou prodejní objednávku všemi štáby.,

Code language: SQL (Structured Query Language) (sql)

C) Použití více SQL Server CTE v jednom dotazu příklad:

následující příklad používá dva CTE cte_category_counts cte_category_sales vrátit počet produktů a prodeje pro každý produkt, kategorie. Vnější dotaz spojuje dva CTE pomocí sloupcecategory_id.,

Zde je výsledek:

V tomto kurzu jste se naučili, jak používat běžné výrazy tabulka nebo CTE v SQL Server vytvořit složité dotazy v snadný-k-rozumět způsobem.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *