Maison  >  Article  >  base de données  >  La différence entre où et avoir dans MySQL

La différence entre où et avoir dans MySQL

下次还敢
下次还敢original
2024-05-02 00:39:15641parcourir

La clause WHERE filtre les lignes et est appliquée avant le regroupement ; la clause HAVING filtre les groupes et est appliquée après le regroupement et peut utiliser les résultats de la fonction d'agrégation de groupe.

La différence entre où et avoir dans MySQL

Différence entre les clauses WHERE et HAVING

Dans MySQL, les clauses WHERE et HAVING sont utilisées pour filtrer les ensembles de données, mais il existe des différences majeures dans leur portée et leur utilisation.

WHERE clause

  • agit dans la clause FROM de l'instruction SELECT.
  • Pour filtrer les lignes, uniquement en fonction des colonnes du tableau.
  • Appliquer avant de regrouper les lignes.

HAVING clause

  • agit après la clause GROUP BY de l'instruction SELECT.
  • est utilisé pour filtrer les groupes, qui peuvent être basés sur les résultats des fonctions d'agrégation de groupes.
  • Appliqué après avoir regroupé les lignes.

Exemple d'utilisation

Clause WHERE :

<code class="sql">SELECT * FROM customers WHERE age > 30;</code>

Cette requête sélectionne tous les clients dont l'âge est supérieur à 30 ans dans la table des clients.

Clause HAVING :

<code class="sql">SELECT city, COUNT(*) AS customer_count
FROM customers
GROUP BY city
HAVING customer_count > 100;</code>

Cette requête sélectionne toutes les villes avec plus de 100 clients dans la table des clients.

Résumé

  • La clause WHERE est utilisée pour filtrer les lignes, appliquée avant le regroupement. La clause
  • HAVING est utilisée pour filtrer les groupes, est appliquée après le regroupement et peut utiliser les résultats des fonctions d'agrégation de groupe.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn