Resumé: i denne tutorial vil du lære, hvordan man bruger SQL Server – EXISTS
operatør i stand til at teste for tilstedeværelsen af rækker i en underforespørgsel.
s .l Server findes operatøroversigt
EXISTS
operator er en logisk operatør, der giver dig mulighed for at kontrollere, om en underforespørgsel returnerer en række. Operatøren EXISTS
returnerer TRUE
hvis underforespørgslen returnerer en eller flere rækker.,
følgende viser syntaksen af SQL Server EXISTS
bruger:
Code language: SQL (Structured Query Language) (sql)
I denne syntaks, underforespørgsel er en SELECT
sætning. Så snart underforespørgsel returnerer rækker, EXISTS
operatøren returnerer TRUE
og stopper behandlingen med det samme.
Bemærk, at selvom underforespørgslen returnerer en NULL
værdi, vurderes EXISTS
operatør stadig til TRUE
.,
s .l Server findes operatøreksempler
lad os tage nogle eksempler for at forstå, hvordan EXISTS
operator worksorks.
A) ved Hjælp EKSISTERER med en underforespørgsel returnerer NULL eksempel
Se følgende: customers
tabel fra eksempeldatabasen.,
følgende eksempel returnerer alle rækker fra customers
tabel:
I dette eksempel, underforespørgsel, der returneres et resultat-sæt, der indeholder NULL
, som forårsager EXISTS
operatør at vurdere, i TRUE
. Derfor returnerer hele forespørgslen alle rækker fracustomers
tabel.,
B) ved Hjælp EKSISTERER med en korreleret underforespørgsel eksempel
Overvej følgende: customers
og orders
tabeller:
Det følgende eksempel finder alle kunder, der har placeret mere end to ordrer:
I dette eksempel, vi havde en korreleret underforespørgsel, der returnerer kunder, der mere end to ordrer.,
Hvis antallet af ordrer, der er placeret af kunden, er mindre end eller lig med to, returnerer underforespørgslen et tomt resultatsæt, der får EXISTS
operatøren til at evaluere til FALSE
.
baseret på resultatet af EXISTS
operatør, vil kunden blive inkluderet i resultatsættet.
C) findes vs., I eksempel
Den følgende sætning bruger IN
operator til at finde de ordrer, der er af kunder fra San Jose:
Den følgende sætning bruger EXISTS
operatør, der returnerer det samme resultat:
EKSISTERER vs. DELTAGE
EXISTS
operatøren returnerer TRUE
eller FALSE
under JOIN
klausul returnerer rækker fra en anden tabel.,
du bruger operatørenEXISTS
til at teste, om en underforespørgsel returnerer en række og kortslutninger, så snart den gør det. På den anden side bruger du JOIN
for at udvide resultatsættet ved at kombinere det med kolonnerne fra relaterede tabeller.
i praksis bruger du EXISTS
når du bare skal kontrollere eksistensen af rækker fra relaterede tabeller uden at returnere data fra dem.
i denne tutorial har du lært, hvordan du bruger s .l Server EXISTS
operatør til at teste, om en underforespørgsel returnerer rækker.