Le sottoquery

Completato

Una sottoquery è un'istruzione SELECT nidificata all'interno di un'altra query. La possibilità di nidificare una query all'interno di un'altra consente di creare query efficaci in T-SQL. In generale, le sottoquery vengono valutate una sola volta e restituiscono i risultati alla query esterna.

Uso delle sottoquery

Una sottoquery è un'istruzione SELECT nidificata o incorporata all'interno di un'altra query. La query nidificata, ovvero la sottoquery, viene definita query interna. La query contenente la query nidificata è la query esterna.

Lo scopo di una sottoquery è restituire i risultati alla query esterna. Il formato dei risultati determinerà se la sottoquery è scalare o multivalore:

  • Le sottoquery scalari restituiscono un singolo valore. Le query esterne devono elaborare un singolo risultato.
  • Le sottoquery multivalore restituiscono un risultato in modo molto simile a una tabella a colonna singola. Le query esterne devono poter elaborare più valori.

Oltre alla scelta tra sottoquery scalari e multivalore, le sottoquery possono essere autonome o correlate alla query esterna:

  • Le sottoquery autonome possono essere scritte come query indipendenti, senza dipendenze dalla query esterna. Una sottoquery autonoma viene elaborata una sola volta, quando viene eseguita la query esterna, e passa i risultati a tale query esterna.
  • Le sottoquery correlate fanno riferimento a una o più colonne della query esterna e quindi dipendono da essa. Le sottoquery correlate non possono essere eseguite separatamente dalla query esterna.