Operatori aggregati

Nelle espressioni della target list possiamo avere anche espressioni che calcolano valori a partire da insiemi di ennuple:

Operatori aggregati: COUNT

Il numero di figli di Franco

SELECT COUNT(*) as NumFigliDiFranco FROM Paternita WHERE Padre = ‘Franco’

L’operatore aggregato (count) viene applicato al risultato dell’interrogazione:

SELECT * FROM Paternita WHERE Padre = ‘Franco’

Altri operatori aggregati

SUM, AVG, MAX, MIN

Media dei redditi dei figli di franco

SELECT AVG(reddito) FROM persone join paternita on nome = figlio WHERE padre = ‘Franco’

Operatori aggregati e target list

Un’interrogazione scorretta: SELECT nome, max(reddito) FROM persone

La target list deve essere omogenea: SELECT min(eta), AVG (reddito) FROM persone

Operatori aggregati e raggruppamenti

Le funzioni possono essere applicate a partizioni delle relazioni

Clausola GROUP BY: GROUP BY listaAttributi

Semantica di interrogazioni con operatori aggregati e raggruppamenti