Junior — Middle
Expliquez les différences entre l'opérateur HAVING et la condition WHERE en SQL et dans quels cas ils doivent être utilisés.
sobes.tech IA
Réponse de l'IA
En SQL, la condition WHERE filtre les lignes avant le regroupement, tandis que HAVING le fait après le regroupement.
- WHERE s'applique aux lignes individuelles de la table et limite l'ensemble de données qui sera agrégé.
- HAVING s'applique aux résultats des fonctions d'agrégation et filtre les groupes formés par l'instruction GROUP BY.
Exemple:
SELECT département, COUNT(*) as nombre_employés
FROM employés
WHERE salaire > 50000 -- filtrer les employés avec un salaire supérieur à 50000
GROUP BY département
HAVING COUNT(*) > 10 -- sélectionner les départements avec plus de 10 employés
Utilisez WHERE pour filtrer les données d'origine, et HAVING pour filtrer les résultats agrégés.