vuoi
o PayPal
tutte le volte che vuoi
AGGIORNAMENTO TUPLE
UPDATE NomeTabella
SET
(WHERE Condizione)
SET dà i nuovi valori e WHERE, se presente, specifica quali colonne sono da aggiornare e svolge la funzione
di SELECT.
FUNZIONI AGGREGATE
Se in SELECT non è presente la clausola GROUP BY, la funzione aggregata opera su tutte le righe e il
risultato è espresso su una sola riga
COUNT SELECT COUNT (*)
FROM NomeTabella
oppure
SELECT COUNT (N_Giocatore)
FROM NomeTabella
Nel primo caso vengono contate tutte le righe della clausola FROM, anche con valore NULL
Nel secondo caso viene contato il n° di valori NOT NULL della colonna N_Giocatore della tabella specificata
in FROM.
Il comando COUNT (DISTINCT N_Giocatore) elimina dal conto i valori doppi
Il comando COUNT (ALL N_Giocatore) considera nel conto i valori duppi ma non quelli NULL
MAX e MIN SELECT MAX (N_Socio) SELECT MIN (N_Socio)
FROM FROM
Trova il valore massimo o minimo della colonna N_Socio e lo visualizza
Il comando MAX/MIN (ALL N_Socio) considera anche i valori doppi
SUM SELECT SUM (N_Membro)
FROM
Mostra la somma di tutti i valori della colonna N_Membro
AVG SELECT AVG (Età)
FROM
Mostra il valore medio calcolato su tutti i valori della colonna Età
Inserendo anche DISTINCT, il valore medio avrà un altro valore
FUNZIONI SCALARI
ABS (n) → Calcola il valore assoluto di n
MOD (n, b) → Calcola il resto di n/b
SQRT (n) → Calcola la radice quadrata di n
QUERY PER RAGGRUPPAMENTO
Può nascere l'esigenza di suddividere le tuple di una relazione in tanti gruppi e su ciascuno di questi
applicare un operatore aggregato.
GROUP BY SELECT Città, COUNT (*)
FROM Italia
GROUP BY Città
Gli attributi che compaiono in SELECT devono comparire anche in GROUP BY. Le tuple vengono suddivise in
gruppi con tuple dello stesso valore in corrispondenza degli attributi elencati in GROUP BY. Le colonne
potranno presentare più di un valore perché i dati vengono raggruppati.
In questo caso la funzione COUNT è stata eseguita sulla tabella raggruppata per Città.
In caso di valori NULL, essi formano un unico gruppo. La clausola GROUP BY rende superfluo l’uso di
DISTINCT.
Raggruppamento di 2 colonne
SELECT Città, Capoluogo
FROM Italia
GROUP BY Città, Capoluogo
Tutte le righe con Città=Capoluogo vengono considerate come un unico gruppo e dunque visualizzate su
una stessa riga. Si ordinano prima per Città e poi per Capoluogo.
HAVING
La clausola HAVING agisce da condizione e permette di effettuare una selezione sui gruppi di tuple creati
con il comando GROUP BY
SELECT
FROM
GROUP BY
HAVING
Tutti gli identificativi di colonna usati in HAVING devono essere contenuti nell'elenco di colonne nominate
in GROUP BY
Possono comparire operatori aggregati come MAX, MIN, COUNT, AVG, SUM…