Sobes.tech
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 :

  • WHERE filtre les lignes avant le regroupement et l'agrégation. Il limite l'ensemble de données utilisé dans la requête.
  • HAVING filtre 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.