Welcome to Our Website

SQL Server CTE (Magyar)

összefoglaló: ebben az oktatóanyagban a WITH záradék használatával megismerheti a közös tábla kifejezést vagy CTE-t az SQL Serverben.

Bevezetés a CTE SQL Server

CTE jelentése közös tábla kifejezés. A CTE lehetővé teszi egy ideiglenes elnevezett eredménykészlet meghatározását, amely ideiglenesen elérhető egy olyan nyilatkozat végrehajtási hatókörében, mint például a SELECT, INSERT, UPDATE, DELETE vagy MERGE.,

az alábbiak a CTE általános szintaxisát mutatják az SQL Serverben:

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

ebben a szintaxisban:

  • először adja meg a kifejezés nevét (expression_name), amelyre később hivatkozhat egy lekérdezésben.
  • Ezután adja meg a vesszővel elválasztott oszlopok listáját az expression_name után. Az oszlopok számának meg kell egyeznie a CTE_definition – ban meghatározott oszlopok számával.
  • ezután használja a AS kulcsszót a kifejezés neve vagy oszloplista után, ha az oszloplista meg van adva.,
  • után, határozza meg a SELECT nyilatkozatot, amelynek eredménykészlete feltölti a közös táblázat kifejezést.
  • végül olvassa el a közös táblázat kifejezést egy lekérdezésben (SQL_statement), például: SELECT, INSERT, UPDATE, DELETE, vagy MERGE.

inkább a közös táblázatkifejezéseket használjuk, mint az alkeretek használatát, mivel a közös táblázatkifejezések olvashatóbbak., A CTE-t olyan lekérdezésekben is használjuk, amelyek analitikus funkciókat (vagy ablakfunkciókat) tartalmaznak

SQL Server CTE példák

Vegyünk néhány példát a közös táblázatkifejezések használatára.

A) Egyszerű SQL Server CTE példa

Ez a lekérdezés használ CTE vissza az értékesítési összegek által értékesítési vezérkar 2018-ban:

A következő képet mutatja az eredményt, állítsa be:

ebben A példában:

  • Első, meghatározott cte_sales_amounts a neve, a közös asztal kifejezést., a CTE olyan eredményt ad vissza, amely három oszlopból áll: staff, year, és sales.
  • másodszor, elkészítettünk egy lekérdezést, amely az értékesítési személyzet és az év teljes értékesítési összegét adja vissza a orders, order_items és staffs táblázatok adatainak lekérdezésével.
  • harmadszor, a külső lekérdezésben a CTE-re utaltunk, és csak azokat a sorokat választottuk ki, amelyek éve 2018.,

megjegyezte, hogy ez a példa kizárólag a demonstrációs célra szolgál, hogy segítsen fokozatosan megérteni, hogyan működnek a közös táblázatkifejezések. Az eredmény elérésének optimálisabb módja a CTE használata nélkül.

B) a közös táblázat kifejezés, hogy jelentés átlagok alapján számít

Ez a példa a CTE, hogy visszatérjen az átlagos eladási megbízások száma 2018-ban az összes értékesítési vezérkar.

itt van a kimenet:

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

ebben a példában:

először a cte_sales mint a közös tábla kifejezés neve., Kihagytuk a CTE oszloplistáját, így a CTE definíció utasításából származik. Ebben a példában a staff_id és order_count oszlopok szerepelnek.

másodszor, a következő lekérdezést használjuk annak az eredménykészletnek a meghatározására, amely a cte_salesközös tábla kifejezést tölti be. A lekérdezés visszaadja a megrendelések számát 2018-ban az értékesítési személyzet által.

harmadszor, a cte_sales – ra hivatkozunk a külső nyilatkozatban, és a AVG() függvény segítségével kapjuk meg az összes alkalmazott átlagos eladási megbízását.,

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

C) több SQL Server CTE használatával egyetlen lekérdezési példában

a következő példa két CTE cte_category_countsés cte_category_sales a termékek számának és az egyes termékkategóriák értékesítésének visszaadásához. A külső lekérdezés két CTE-t csatlakoztat a category_id oszlop segítségével.,

Itt van az eredmény set:

ez A bemutató, megtanultuk, hogyan kell használni a közös asztal kifejezések vagy CTE az SQL Server építeni összetett lekérdezések egy könnyen érthető módon.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük