Query annidate: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
(14 versioni intermedie di 11 utenti non mostrate) | |||
Riga 1:
{{U|Query|informatica|novembre 2022|commento=sottotipologia trattabile nella voce principale}}
Le '''query annidate''', in [[informatica]], nell'ambito dei [[linguaggio di interrogazione|linguaggi di interrogazione]], rappresentano uno strumento sintattico molto importante per effettuare interrogazioni complesse sui [[database]].
Riga 7 ⟶ 9:
Esempio di una '''subquery''' che restituisce un solo valore:
<
select *
from Dipendenti
where età>(Select AVG(età)
from Dipendenti)
</syntaxhighlight>
La [[query]] restituisce tutti i ''Dipendenti'' la cui età supera l'età media di tutti i
Esempio di una '''subquery''' che restituisce un insieme di valori:
<
select *
from Studenti
where matricola Not in (Select DISTINCT rif_matricola from Esami)
</syntaxhighlight>
La [[query]] restituisce tutti gli ''Studenti'' che non hanno mai sostenuto un esame, '''la subquery''' invece ricerca tutte le matricole degli '''Studenti''' che hanno sostenuto almeno un esame. La clausola '''Distinct''' permette di eliminare la ripetizione delle matricole degli ''Studenti'' che hanno sostenuto più di un esame.
=== Gli operatori aggregati ===
Riga 34 ⟶ 36:
# '''MAX()''' per ottenere il valore massimo dell'attributo numerico prescelto;
# '''MIN()''' per ottenere il valore minimo dell'attributo numerico prescelto.
=== Subquery con tabelle derivate ===
Una '''tabella derivata'''
Esempio di una '''subquery''' con tabelle derivate:
<
select MAX(tot_salario)
▲ select SUM(salario) as tot_salario
from Lavoratori
group by settore);
</syntaxhighlight>
Questa
=== Query a campi incrociati ===
Riga 57 ⟶ 56:
Esempio di una [[query]] a campi incrociati:
<
Transform COUNT(*)
select classe
from Studenti
group by classe
</syntaxhighlight>
Questa [[query]] a campi incrociati permette di contare per ogni classe il numero di ''studenti'' e il numero di ''studentesse''.
Riga 75 ⟶ 74:
== Collegamenti esterni ==
*
*
{{portale|informatica}}
|