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 EXISTSoperatø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.