Junior — Middle
Quelle est la différence entre les conditions WHERE et HAVING lors de l'utilisation de requêtes SQL?
sobes.tech IA
Réponse de l'IA
En SQL, les conditions WHERE et HAVING sont utilisées pour filtrer les données, mais s'appliquent à différentes étapes du traitement de la requête :
WHEREfiltre les lignes avant le regroupement et l'agrégation. Il limite l'ensemble de données utilisé dans la requête.HAVINGfiltre les groupes après l'application des fonctions d'agrégation (par exemple,SUM,COUNT,AVG). Il sert à limiter les résultats de l'agrégation.
Exemple :
SELECT département, COUNT(*) as nombre_employés
FROM employés
WHERE salaire > 50000 -- filtrer les employés avec un salaire > 50000
GROUP BY département
HAVING COUNT(*) > 10; -- sélectionner les départements avec plus de 10 employés
Ici, WHERE sélectionne les employés avec un salaire supérieur à 50000, et HAVING filtre les départements ayant plus de 10 employés.