Condividi tramite


Regole relative alle sottoquery

Le subquery sono soggette alle seguenti restrizioni:

  • L'elenco di selezione di una subquery introdotta da un operatore di confronto può includere una sola espressione o un solo nome di colonna, tranne nei casi in cui vengono applicate le parole chiave EXISTS e IN rispettivamente a un'istruzione SELECT * o a un elenco.

  • Se la clausola WHERE di una query esterna include un nome di colonna, questo deve essere compatibile a livello di join con la colonna dell'elenco di selezione della subquery.

  • I tipi di dati ntext, text e image non sono utilizzabili nell'elenco di selezione delle subquery.

  • Poiché le subquery introdotte da un operatore di confronto non modificato (ovvero non seguito dalla parola chiave ANY o ALL) devono restituire un solo valore, non possono includere le clausole GROUP BY e HAVING.

  • La parola chiave DISTINCT non può essere utilizzata nelle subquery che includono la clausola GROUP BY.

  • Non è possibile specificare le clausole COMPUTE e INTO.

  • È possibile specificare la clausola ORDER BY solo se viene specificata anche la clausola TOP.

  • Le viste create utilizzando una subquery non possono essere aggiornate.

  • Per convenzione, l'elenco di selezione di una subquery introdotta da EXISTS è costituito da un asterisco (*) anziché da un singolo nome di colonna. Le regole valide per una subquery introdotta da EXISTS corrispondono a quelle seguite per un elenco di selezione standard. Questo tipo di subquery infatti crea un test di esistenza e non restituisce dati, ma solo TRUE o FALSE.