ConsigneAffiche les villes ayant strictement plus de 2 etudiants. Affiche la ville et le compte (nommé nb) ; le filtre s'applique après le regroupement.
having filtre les groupes après l'agrégation. C'est comme where, mais pour les résultats d'agrégation. Syntaxe : select col, count(*) from table group BY col having condition;
Difference cle
WHERE filtre les lignes AVANT le regroupementHAVING filtre les groupes APRES le regroupementCes groupes viennent le plus souvent d'un group BY, mais pas forcément : sans group BY, la table entière compte pour un seul groupe, et having s'applique quand même (select count(*) from etudiants having count(*) > 2 renvoie bien la ligne 25).
Exemple (table produits) :
SELECT categorie, COUNT(*) AS nb FROM produitsGROUP BY categorie HAVING COUNT(*) > 5;-> seulement les categories ayant plus de 5 produitsEnvie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →