Sobes.tech
Junior — Middle

Quelle est la différence entre la condition HAVING et la condition WHERE lors de l'utilisation de requêtes SQL?

sobes.tech IA

Réponse de l'IA

La différence principale entre WHERE et HAVING en SQL :

  • WHERE filtre les lignes avant le regroupement (GROUP BY). Il s'applique aux enregistrements individuels.
  • HAVING filtre les groupes après le regroupement. Il est utilisé pour des conditions sur des fonctions d'agrégation (par exemple, COUNT, SUM).

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

Ici, WHERE sélectionne les lignes pour le regroupement, et HAVING filtre les données déjà regroupées.