Înțelegerea subcheilor
O subinterogare este o instrucțiune SELECT imbricată în altă interogare. Capacitatea de a imbrica o interogare în alta va îmbunătăți capacitatea de a crea interogări eficiente în T-SQL. În general, subcheile sunt evaluate o dată și furnizează rezultatele interogării externe.
Lucrul cu subcheile
O subinterogare este o instrucțiune SELECT imbricată sau încorporată în altă interogare. Interogarea imbricată, care este subinterogarea, este denumită interogare internă. Interogarea care conține interogarea imbricată este interogarea exterioară.
Scopul subinterogării este de a returna rezultate la interogarea exterioară. Forma rezultatelor va determina dacă subinterogarea este o subinterogare scalară sau multi-valoare:
- Subcheile scalare returnează o singură valoare. Interogările exterioare trebuie să proceseze un singur rezultat.
- Subcheile cu valori multiple returnează un rezultat asemănător unui tabel cu o singură coloană. Interogările exterioare trebuie să poată procesa valori multiple.
În plus față de alegerea dintre subcheile scalare și multi-valoare, subcheile pot fi subqueries auto-conținute sau pot fi corelate cu interogarea exterioară:
- Subinterogările auto-conținute pot fi scrise ca interogări independente, fără dependențe de interogarea exterioară. O subinterogare auto-conținută este procesată o dată, atunci când interogarea internă rulează și transmite rezultatele acesteia acelei interogări exterioare.
- Subcheile corelate fac referire la una sau mai multe coloane din interogarea exterioară și, prin urmare, depind de aceasta. Subcheile corelate nu pot rula separat de interogarea exterioară.