Welcome to Our Website

SQL Server ETC

Oppsummering: i denne opplæringen vil du lære om felles bord uttrykk eller CTE i SQL Server ved hjelp av WITH klausulen.

Introduksjon til CTE i SQL Server

ETC står for felles bord uttrykk. En CTE lar deg angi en midlertidig heter resultat som er tilgjengelig midlertidig i utførelsen omfanget av en uttalelse som SELECT, INSERT, UPDATE, DELETE, eller MERGE.,

følgende viser de vanlige syntaksen til en CTE i SQL Server:

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

I denne syntaks:

  • Første, angi uttrykk navn (expression_name) som du kan se senere i en spørring.
  • Neste, angir en kommaseparert liste med kolonner etter expression_name. Antall kolonner må være det samme som antall kolonner som er definert i CTE_definition.
  • Deretter bruke SOM søkeord etter uttrykket navn eller kolonne liste hvis kolonnen listen er angitt.,
  • Etter, definerer du en SELECT uttalelse som resultat fyller ut den vanlige tabellen uttrykk.
  • til Slutt, kan du se vanlige tabell uttrykk i en spørring (SQL_statement) eksempel SELECT, INSERT, UPDATE, DELETE, eller MERGE.

Vi foretrekker å bruke felles bord uttrykk heller enn å bruke subqueries fordi felles bord uttrykk er mer lesbar., Vi bruker også CTE i spørringer som inneholder analytiske funksjoner (eller vindu funksjoner)

SQL Server ETC eksempler

La oss ta noen eksempler på bruk av felles bord uttrykk.

A) Enkel SQL Server ETC eksempel

Denne spørringen bruker en CTE å returnere salg beløp ved salg staber i 2018:

følgende bilde viser resultatet sett:

I dette eksempelet:

  • Første, vi definert cte_sales_amounts som navnet på felles bord uttrykk., CTE returnerer et resultat som består av tre kolonner staff, year, og sales avledet fra den definisjonen spørring.
  • Andre, konstruerte vi en spørring som returnerer totalt salg mengden av selgere og året ved å spørre etter data fra orders, order_items og staffs tabeller.
  • Tredje, vi henvist til CTE i ytre spørring og velger bare de radene som i år 2018.,

Bemerket at dette eksemplet er kun for demonstrasjon hensikt å hjelpe deg gradvis forstå hvordan felles bord uttrykk arbeid. Det er en mer optimal måte for å oppnå resultat uten å bruke ETC.

B) ved Hjelp av et felles bord uttrykk for å gjøre rapporten gjennomsnitt basert på tellinger

Dette eksemplet bruker CTE å returnere gjennomsnittlig antall salgsordrer i 2018 for alt salg staber.

Her er resultatet:

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

I dette eksempelet:

for det Første, vi brukt cte_sales som navnet på felles bord uttrykk., Vi hoppet over kolonnen liste over CTE så det er avledet fra CTE definisjon uttalelse. I dette eksemplet er det inkluderer staff_id og order_count kolonner.

Andre, bruker vi følgende spørring til å definere resultat som fyller ut den vanlige tabellen uttrykk cte_sales. Spørringen returnerer antall bestillinger i 2018 av selgere.

Tredje, henviser vi til cte_sales i ytre uttalelse og bruk AVG() funksjon for å få gjennomsnittet for salg av alle staber.,

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

C) ved Hjelp av flere SQL Server ETC i en enkelt spørring eksempel

følgende eksempel bruker to CTE cte_category_counts og cte_category_sales for å returnere antallet av produkter og salg for hver produktkategori. Den ytre spørring blir to CTEs bruke category_id kolonne.,

Her er resultat:

I denne opplæringen, har du lært å bruke felles bord uttrykk eller CTE i SQL Server å lage komplekse spørringer i en lett-å-forstå måte.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *