Rezumat: în acest tutorial, veți învăța cum să utilizați SQL Server EXISTS
operator în stare să testăm existența rânduri într-o subinterogare.
SQL Server există operator prezentare generală
EXISTS
operatorul este un operator logic care vă permite să verificați dacă un subquery returnează orice rând. Operatorul EXISTS
returnează TRUE
dacă subquery returnează unul sau mai multe rânduri.,
următoarele spectacole sintaxa SQL Server EXISTS
operator:
Code language: SQL (Structured Query Language) (sql)
În această sintaxă, subinterogare este un SELECT
declarație numai. De îndată ce subquery returnează rânduri, operatorul EXISTS
returnează TRUE
și opriți procesarea imediat.
Rețineți că, chiar dacă subinterogare returnează un NULL
valoare EXISTS
operator este încă evaluate la TRUE
.,
SQL Server EXISTĂ operator exemple
Să luăm câteva exemple pentru a înțelege cum EXISTS
operator lucrări.
A) folosind există cu un subquery returnează exemplu nul
a se vedea următorul customers
tabel din Baza de date eșantion.,
următorul exemplu returnează toate rândurile din customers
tabel:
În acest exemplu, subinterogare a revenit un set de rezultate care conține NULL
care determină EXISTS
operator pentru a evalua pentru TRUE
. Prin urmare, întreaga interogare returnează toate rândurile din tabelul customers
.,
B) Folosind EXISTĂ cu o subinterogare corelată exemplu
se ia în Considerare următoarele customers
și orders
tabele:
următorul exemplu găsește toți clienții care au plasat mai mult de două ordine:
În acest exemplu, am avut o subinterogare corelată care returnează clienților care au loc mai mult de două ordine.,
Dacă numărul de comenzi plasate de către client este mai mică sau egală cu doi, subinterogare returnează un gol set de rezultate care cauzeaza EXISTS
operator pentru a evalua pentru FALSE
.
pe baza rezultatului operatorului EXISTS
, Clientul va fi inclus în setul de rezultate.
C) există vs., ÎN exemplu
următoarea declarație foloseste IN
operator pentru a găsi comenzi de la clienții din San Jose:
următoarea declarație foloseste EXISTS
operator care returnează același rezultat:
EXISTĂ vs se ALĂTURE
EXISTS
operatorul returnează TRUE
sau FALSE
în timp ce JOIN
clauza de returnare rânduri dintr-un alt tabel.,
utilizați operatorul EXISTS
pentru a testa dacă un subquery returnează orice rând și scurtcircuite imediat ce se întâmplă. Pe de altă parte, utilizați JOIN
pentru a extinde setul de rezultate combinându-l cu coloanele din tabelele aferente.
în practică, utilizați EXISTS
când trebuie doar să verificați existența rândurilor din tabelele conexe fără a returna date de la acestea.
În acest tutorial, ați învățat cum să utilizați SQL Server EXISTS
operator pentru a testa dacă un subquery returnează rânduri.