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.