Trova le fonti: “Avere” SQL – notizie – giornali – libri – scholar – JSTOR (Settembre 2018) (Impara come e quando rimuovere questo messaggio modello)
Una clausola HAVING
in SQL specifica che un’istruzione SQL SELECT
deve restituire solo righe in cui i valori aggregati soddisfano le condizioni specificate.
HAVING
e WHERE
sono spesso confusi dai principianti, ma hanno scopi diversi. WHERE
viene preso in considerazione in una fase precedente dell’esecuzione di una query, filtrando le righe lette dalle tabelle. Se una query contiene GROUP BY
, i dati delle tabelle vengono raggruppati e aggregati. Dopo l’operazione di aggregazione, viene applicato HAVING
che filtra le righe che non corrispondono alle condizioni specificate. Pertanto, WHERE
si applica ai dati letti dalle tabelle, e HAVING
dovrebbe applicarsi solo ai dati aggregati, che non sono noti nella fase iniziale di una query.
Per visualizzare la condizione attuale formata dalla clausola GROUP BY
, si usa la clausola HAVING
.