Le sottoquery
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.