sammanfattning: i den här handledningen lär du dig hur du använder SQL ServerEXISTS – operatören i villkoret för att testa förekomsten av rader i en underquery.

SQL Server finns operatörsöversikt

EXISTS operatören är en logisk operatör som låter dig kontrollera om en underquery returnerar någon rad. OperatörenEXISTS returnerarTRUE om subquery returnerar en eller flera rader.,

följande visar syntaxen för SQL Server EXISTS operator:

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

i denna syntax är subquery endast en SELECT – sats. Så snart subquery returnerar rader returnerar EXISTS – operatören TRUE och slutar behandla omedelbart.

Observera att även om subquery returnerar en NULL värde, EXISTS operatören fortfarande utvärderas till TRUE.,

SQL Server finns operatörsexempel

låt oss ta några exempel för att förstå hur EXISTS operator fungerar.

A) användning finns med en underquery returnerar NULL exempel

se följandecustomers tabell från exempeldatabasen.,

följande exempel returnerar alla rader från tabellen customers:

i det här exemplet returnerade subquery en resultatuppsättning som innehåller NULL vilket gör att EXISTS – operatören utvärderar till TRUE. Därför returnerar hela frågan alla rader från tabellencustomers.,

B) användning finns med ett korrelerat subquery exempel

överväga följandecustomers ochorders tabeller:

följande exempel hittar alla kunder som har lagt fler än två beställningar:

i det här exemplet hade vi en korrelerad underquery som returnerar kunder som lägger fler än två beställningar.,

om antalet beställningar som görs av kunden är mindre än eller lika med två returnerar subquery en tom resultatuppsättning som gör attEXISTS – operatören utvärderar tillFALSE.

baserat på resultatet avEXISTS – operatören kommer kunden att inkluderas i resultatuppsättningen.

C) FINNS vs., I exempel

följande uttalande använder IN – operatören för att hitta order från kunder från San Jose:

följande uttalande använder EXISTS – operatören som returnerar samma resultat:

finns vs. join

EXISTS operator returnerar TRUE eller FALSE medan JOIN – klausulen returnerar rader från en annan tabell.,

du använderEXISTS – operatören för att testa om en underquery returnerar någon rad och kortslutning så snart den gör det. Å andra sidan använder du JOIN för att utöka resultatuppsättningen genom att kombinera den med kolumnerna från relaterade tabeller.

i praktiken använder du EXISTS när du bara behöver kontrollera förekomsten av rader från relaterade tabeller utan att returnera data från dem.

i den här handledningen har du lärt dig hur du använder SQL ServerEXISTS – operatören för att testa om en underquery returnerar rader.