Query annidate: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: Correzione di uno o più errori comuni |
m Bot: spaziature errate |
||
Riga 1:
Le '''query annidate''', in [[informatica]], ma soprattutto nei [[Query language]], rappresentano uno strumento sintattico molto importante per effettuare interrogazioni complesse sui [[database]]. L'interrogazione di un [[database]], è una delle operazioni che viene effettuata con maggiore frequenza. '''Un'interrogazione nidificata'''(o subquery), è una query che sta all'interno di un'altra interrogazione. La [[query]] interna, cioè la '''subquery''', passa i risultati alla [[query]] esterna che li verifica nella condizione che segue la clausola '''Where'''. Esistono vari tipi di '''subquery''', ma principalmente possiamo suddividerle in '''subquery''' che restituiscono un solo valore, e '''subquery''' che restituiscono un insieme di valori.
Esempio di una '''subquery''' che restituisce un solo valore:
Riga 10:
</source>
La [[query]] restituisce tutti i ''Dipendenti'' la cui età supera l'età media di tutti i ''dipendenti''. Il compito di andare a calcolare questa media è svolto dalla [[query]] interna (subquery), però si suppone di avere un [[database]] con all'interno la tabella ''Dipendenti'' con i relativi attributi o campi.
Esempio di una '''subquery''' che restituisce un insieme di valori:
Riga 33:
== Subquery con tabelle derivate ==
Una '''tabella derivata''', è una tabella che viene creata durante l'esecuzione della query esterna, quindi è un semplice result-set, cioè un insieme di tuple (o record) ottenute da una [[query]]. Essa rappresenta un tipo speciale di subquery, posizionata nella clausola '''From''' della [[query]] ed è referenziata tramite un alias.
Esempio di una '''subquery''' con tabelle derivate:
Riga 44:
</source>
Questa [[query]], tramite la '''subquery''' nella clausola '''From''' permette di estrapolare dalla tabella ''Lavoratori'' il salario più alto della somma dei salari tra tutti i settori.
== Query a campi incrociati ==
Le '''query a campi incrociati''' permettono di calcolare una somma, una media, un conteggio o altri tipi di operazioni di aggregazione su alcuni attributi. Occorre specificare che questo tipo di interrogazione non è presente in [[MySQL]], ma è presente invece nel linguaggio [[SQL]] per Access. Le [[query]] a campi incrociati permettono di raggruppare le tuple in base a due campi: il primo rappresenterà le colonne delle tuple risultato, mentre il secondo rappresenterà le righe.
Esempio di una [[query]] a campi incrociati:
|