Bazele de interogări imbricate

interogare SELECT normală, care cuprinde lista obișnuită ingrediente eșantion;

Oferta standard din, care cuprinde unul sau mai multe nume de tabele sau vizualizări;

Opțională UNDE;

Opțional GROUP BY;

Opțională HAVING.

SELECT subinterogare interogare este întotdeauna între paranteze. Ea nu poate include mașinei sau pentru propuneri de LISTE și poate include o clauză ORDER numai cu TOP sugestie.

interogare imbricate poate fi încorporat în clauza WHERE sau HAVING SELECT exterior, INSERT, UPDATE sau DELETE, sau un alt subinterogare. Posibilitatea de a crea imbricate la nivelul 32, deși restricțiile variază în funcție de cantitatea de memorie disponibilă și complexitatea altor expresii din interogare. interogările individuale nu pot sprijini cuibărit până la nivelul 32. Subinterogare poate apărea oriunde o expresie poate fi utilizată, în cazul în care returnează o singură valoare.

Dacă tabela apare doar într-o interogare imbricate, și nu în interogare exterioară, în acest caz, coloanele din acest tabel nu pot fi incluse în datele de ieșire (o listă de eșantionare cereri externe).

Instrucțiuni, inclusiv interogări imbricate, au de obicei unul dintre următoarele formate:

UNDE comparison_operator expresie [ORICE | ALL] (subquery)

În unele instrucțiuni interogarea imbricate Transact-SQL poate fi considerată ca o cerere de serviciu separat. În esență, rezultatele interogării secundare sunt substituite în cererea externă (deși acest lucru este opțional și depinde atât Microsoft SQL Server implementat limbajul Transact-SQL de procesare a documentelor cu interogări imbricate).

Există trei tipuri de bază de subinterogările care:

lucru în listele inserate după cuvântul cheie IN, sau cei care au schimbat operatorul comparație folosind cuvântul cheie oricare sau toate;

operatorul introduce comparații nemodificate și trebuie să returneze aceeași valoare;

este un test pentru existența, începând cu cuvântul cheie EXISTS.