Oppsummering: i denne opplæringen vil du lære hvordan du bruker SQL Server EXISTS
operatøren i stand til å teste for eksistensen av rader i en subquery.
SQL-Serveren FINNES operatør oversikt
EXISTS
operatør er en logisk operator som lar deg sjekke om et subquery returnerer noen rad. EXISTS
operatør returnerer TRUE
hvis subquery returnerer en eller flere rader.,
følgende viser syntaksen for SQL Server EXISTS
bruker:
Code language: SQL (Structured Query Language) (sql)
I denne syntaks, den subquery er en SELECT
statement bare. Så snart subquery returnerer rader, EXISTS
operatør returnerer TRUE
og stoppe behandling umiddelbart.
Merk at selv om subquery returnerer en NULL
verdi EXISTS
operatør er likevel vurdert til TRUE
.,
SQL-Serveren FINNES operatør eksempler
La oss ta noen eksempler for å forstå hvordan EXISTS
operatør fungerer.
A) ved Hjelp EKSISTERER med en subquery returnerer NULL eksempel
Se følgende customers
tabell fra eksempeldatabasen.,
følgende eksempel returnerer alle radene fra customers
tabell:
I dette eksempelet subquery tilbake et resultat som inneholder NULL
som fører til at den EXISTS
– operatoren til å vurdere å TRUE
. Derfor, hele spørringen returnerer alle radene fra customers
tabell.,
B) Bruke EKSISTERER med et korrelert subquery eksempel
bør du Vurdere følgende customers
og orders
tabeller:
dette eksemplet finner alle kunder som har plassert mer enn to bestillinger:
I dette eksemplet, vi hadde en korrelert subquery som returnerer kunder som sted mer enn to bestillinger.,
Hvis antallet bestillinger som legges inn av kunden er mindre enn eller lik to, subquery returnerer et tomt resultat som forårsaker EXISTS
– operatoren til å vurdere å FALSE
.
Basert på resultatet av EXISTS
operatør, vil kunden bli inkludert i resultat.
C) EKSISTERER vs., I eksempel
følgende uttalelse bruker IN
– operatoren til å finne den bestillinger av kunder fra San Jose:
følgende uttalelse bruker EXISTS
operatør som gir samme resultat:
EKSISTERER vs. BLI med
EXISTS
operatør returnerer TRUE
eller FALSE
mens JOIN
klausulen returnerer rader fra en annen tabell.,
Du bruker EXISTS
operatøren å teste om en subquery returnerer en rad og kortslutning så fort som det gjør. På den annen side, bruker du JOIN
for å utvide resultat av å kombinere det med kolonner fra relaterte tabeller.
I praksis, kan du bruke EXISTS
når du trenger bare å sjekke eksistensen av rader fra relaterte tabeller uten returnning data fra dem.
I denne opplæringen, har du lært hvordan du bruker SQL Server EXISTS
operatøren å teste om en subquery returnerer rader.