Maison > Article > base de données > La différence entre où et avoir en SQL
Les clauses WHERE et HAVING sont toutes deux utilisées pour filtrer les données dans SQL, mais leurs portées sont différentes : la clause WHERE filtre des lignes uniques et la clause HAVING filtre l'ensemble de résultats groupés. La clause WHERE est appliquée avant le regroupement et affecte les lignes de résultats de la fonction d'agrégation ; la clause HAVING est appliquée après le regroupement et affecte les lignes groupées plutôt que les lignes individuelles. La clause WHERE peut filtrer n'importe quelle colonne, tandis que la clause HAVING ne peut filtrer que les résultats des fonctions d'agrégation.
Différence entre les clauses WHERE et HAVING
Dans les requêtes SQL, les clauses WHERE et HAVING sont utilisées pour filtrer les lignes de données, mais elles ont des portées et des objectifs différents. La clause
WHERE
HAVING
Calendrier de candidature
Avant le regroupementAffecte | Résultats des résultats de la fonction agrégée | |
---|---|---|
Exemple | La requête suivante utilise la clause où filtrer les commandes avec des ventes dépassant 1000: | |
<code class="sql">SELECT customer_id, AVG(sales_amount) AS avg_sales FROM orders GROUP BY customer_id HAVING avg_sales > 1000;</code> |
Notes | |
HAVING est généralement utilisée avec la clause GROUP BY, tandis que la clause WHERE peut être utilisée indépendamment. |
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!