Commenti(0)
Query annidate in MySQL
Un introduzione a come scrivere query annidate in SQL in un ambiente MySQL
Le query annidate, come suggerisce la parola stessa, sono delle query che vengono eseguite all’interno di altre query. Sono molto utili quando il reperimento di un dato non risulta possibile con l’esecuzione di una singola query, ma sono necessarie più query.
Ad esempio supponiamo di avere la tabella esami così valorizzata
| Matricola | Nome | Anno | Crediti | Voto |
| 1 | Calcolatori Elettronici | 2 | 10 | 30 |
| 1 | Informatica | 2 | 10 | 30 |
| 1 | Matematica | 1 | 10 | 23 |
| 2 | Informatica | 2 | 10 | 30 |
| 2 | Ingegneria del Software | 3 | 10 | 30 |
e di voler rintracciare il nome dell’esame che ha il voto più basso. Nel nostro caso sono necessarie due query, una per calcolare il voto più basso ed un’altra per calcolare il nome dell’esame con tale voto. Le query sono le seguenti
La query restituirà il seguente risultato
MIN (Voto) = 23
A questo punto si ricorre alla seconda query
E’ possible annidare le due query precedenti utilizzandone solo una nella seguente maniera
Il risultato sarà ovviamente Matematica.
E’ importante sottolineare che in questo caso è stato possibile ricorrere alla clausola where, in quanto la subquery restituiva un solo risultato, altrimenti si doveva ricorrere alla clausola IN, ovvero
MySQL consente di utilizzare anche le tabelle derivate, che sono una sorta di viste senza nome:
Condividi su:
Esprimi un voto:
Argomenti chiave:

MySQL Report un tool di shell per tenere tutto sotto controllo