Yhteenveto: tässä opetusohjelmassa opit yhteisen pöydän ilme tai CTE SQL Server käyttämällä WITH
lauseke.
Johdanto CTE SQL Server
CTE sanoista common table expression. CTE avulla voit määrittää väliaikaisen nimeltä tulos asetettu, että saatavilla väliaikaisesti suorituksen laajuuden selvitys, esimerkiksi SELECT
, INSERT
, UPDATE
, DELETE
tai MERGE
.,
seuraavassa on esitetty yleinen syntaksi CTE SQL-Palvelin:
Code language: SQL (Structured Query Language) (sql)
tämä syntaksi:
- Ensimmäinen, määritä lausekkeen nimi (
expression_name
), johon voit viitata myöhemmin kyselyn. - määritä seuraavaksi luettelo pilkulla erotetuista sarakkeista ekspression_nimen jälkeen. Sarakkeiden lukumäärän on oltava sama kuin
CTE_definition
määriteltyjen sarakkeiden lukumäärä. - käytä sitten ilmaisun nimen tai sarakkeen luettelon jälkeen hakusanana, jos sarakeluettelo on määritelty.,
- Jälkeen, määritellä
SELECT
lausunto jonka tulos täyttää yhteisen pöydän ilme. - Lopuksi, katso yhteisen pöydän ilme kyselyn (
SQL_statement
), esimerkiksiSELECT
,INSERT
,UPDATE
,DELETE
taiMERGE
.
käytämme mieluummin yhteisiä taulukkoilmaisuja kuin alakuvauksia, koska yhteiset pöytäilmaisut ovat luettavampia., Me myös käyttää CTE-kyselyt, jotka sisältävät analytic toimintoja (tai ikkunan toiminnot)
SQL Server CTE-esimerkkejä
otetaanpa joitakin esimerkkejä käyttäen yhteisen pöydän ilmaisuja.
A) Yksinkertainen SQL Server CTE-esimerkki
Tämä kysely käyttää CTE palauttaa myynnin määrät myynnin esikunnat vuonna 2018:
seuraavassa kuvassa näkyy tulos:
tässä esimerkki:
- Ensimmäinen, me määritelty
cte_sales_amounts
kuten nimi yhteisen pöydän ilme., CTE on palauttaa tulos, joka koostuu kolme sarakettastaff
,year
jasales
johdettu määritelmä kyselyn. - Toiseksi, meidän rakennettu kysely, joka palauttaa koko myynnin määrän, myynnin henkilöstön ja vuonna kyselemällä tietoja
orders
,order_items
jastaffs
taulukot. - Kolmas, edellä CTE ulompi kysely ja valita vain ne rivit, joiden vuonna 2018.,
totesi, että tämä esimerkki on tarkoitettu vain demonstrointitarkoitukseen, jotta voit vähitellen ymmärtää, miten yhteiset pöytäilmaisut toimivat. On olemassa optimaalisempi tapa saavuttaa tulos ilman CTE: tä.
B) Käyttämällä yhteistä taulukko ilmaisun tehdä raportti keskiarvojen perusteella lasketaan
Tämä esimerkki käyttää CTE palata keskimääräinen lukumäärä myyntitilausten vuonna 2018 kaikkien myynnin esikunnat.
Tässä on output:
Code language: SQL (Structured Query Language) (sql)
tässä esimerkki:
Ensinnäkin, me käytetään cte_sales
kuten nimi yhteisen pöydän ilme., Ohitimme CTE: n sarakeluettelon, joten se on johdettu CTE: n määritelmälausekkeesta. Tässä esimerkissä, se sisältää staff_id
ja order_count
sarakkeet.
toiseksi, määrittelemme seuraavalla kyselyllä tulosjoukon, joka populoi yhteisen taulukon lausekkeen cte_sales
. Kysely palauttaa myyntihenkilöstön tilausten määrän vuonna 2018.
Kolmanneksi, me katso cte_sales
ulompi lausuman ja käyttää AVG()
toiminto saada keskimääräinen myynti jotta kaikki esikunnat.,
Code language: SQL (Structured Query Language) (sql)
C) Käyttämällä useita SQL Server-CTE yhteen kyselyn esimerkki
seuraava esimerkki käyttää kahta CTE cte_category_counts
ja cte_category_sales
palata määrä tuotteet ja myynti kunkin tuotteen luokka. Ulompi kysely liittyy kahteen CTEs: ään käyttäen category_id
– saraketta.,
Tässä on tulos asettaa:
tässä opetusohjelmassa, olet oppinut, miten käyttää yhteisen pöydän ilmaisuja tai CTE SQL Server rakentaa monimutkaisia kyselyitä helppo ymmärtää tavalla.