HAVING
Catégorie : agregation
Clause qui filtre les groupes après l'application de GROUP BY. Similaire à WHERE mais pour les résultats agrégés.
📝 Syntaxe
SELECT colonne, fonction_agregation() FROM table GROUP BY colonne HAVING condition_agregation💡 Exemples
SELECT classe, COUNT(*) FROM élèves GROUP BY classe HAVING COUNT(*) > 25→ Seconde | 30 Première | 28
SELECT departement, AVG(salaire) FROM employes GROUP BY departement HAVING AVG(salaire) > 40000→ Informatique | 45000 Direction | 55000
🎯 Exercice
Trouver les villes ayant plus de 10 employés avec un salaire moyen supérieur à 35000€
Voir la solution
SELECT ville, COUNT(*), AVG(salaire) FROM employes GROUP BY ville HAVING COUNT(*) > 10 AND AVG(salaire) > 35000⚠️ Pièges courants
- HAVING s'applique après GROUP BY, WHERE avant
- On peut utiliser HAVING sans GROUP BY mais c'est rare
