La clause WHERE filtre les lignes de l'instruction SELECT et filtre les données sous-jacentes en fonction des conditions des lignes. La clause HAVING filtre les groupes dans une instruction GROUP BY, en filtrant les groupes en fonction de leurs résultats agrégés. Les principales différences : WHERE traite les lignes individuelles et évalue les conditions des lignes ; HAVING traite les groupes et évalue les résultats agrégés des groupes ; WHERE affecte les lignes qui sont incluses dans les résultats, et HAVING affecte les groupes qui sont inclus dans les résultats.
Utilisation des clauses WHERE et HAVING dans SQL
Les clauses WHERE et HAVING sont utilisées dans SQL pour filtrer les ensembles de données, mais elles diffèrent par le contexte de traitement et la cible :
WHERE Clause :
Exemple :
<code class="sql">SELECT * FROM employees WHERE salary > 50000;</code>
Cette requête renvoie tous les employés dont le salaire est supérieur à 50 000 $.
Clause HAVING :
Exemple :
<code class="sql">SELECT department, SUM(salary) AS total_salary FROM employees GROUP BY department HAVING total_salary > 100000;</code>
Cette requête renvoie le salaire total pour tous les départements où le salaire total est supérieur à 100 000 $.
Principale différence :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!