Sobes.tech
Middle

Question standard sur SQL : quelle est la différence entre WHERE et HAVING ?

sobes.tech IA

Réponse de l'IA

La principale différence entre WHERE et HAVING en SQL réside dans l'étape à laquelle ils filtrent les données :

  • WHERE filtre les lignes avant le regroupement. Utilisé pour limiter l'ensemble de données initial.
  • HAVING filtre les groupes après l'application des fonctions d'agrégation et du regroupement (GROUP BY).

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 limite les lignes initiales, et HAVING les groupes finaux.