Sobes.tech
Middle

Quelle est la différence entre WHERE et HAVING?

sobes.tech IA

Réponse de l'IA

En SQL, l'opérateur WHERE est utilisé pour filtrer les lignes avant le regroupement, c'est-à-dire qu'il limite l'ensemble des données qui participeront à la requête.

HAVING est utilisé pour filtrer les données déjà regroupées, c'est-à-dire après l'exécution des fonctions d'agrégation et de regroupement.

Exemple:

SELECT department, COUNT(*) as employee_count
FROM employees
WHERE salary > 50000  -- filtrer les employés avec un salaire supérieur à 50000
GROUP BY department
HAVING COUNT(*) > 10     -- sélectionner les départements avec plus de 10 employés

Ici, WHERE filtre d'abord les lignes avec un salaire supérieur à 50000, puis les données sont regroupées par département, et HAVING filtre les groupes selon le nombre d'employés.