Înțelegerea subcheilor

Finalizat

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ă.