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.