Maison > base de données > tutoriel mysql > HAVING vs WHERE en SQL : quand utiliser chaque clause pour le filtrage des données ?

HAVING vs WHERE en SQL : quand utiliser chaque clause pour le filtrage des données ?

Susan Sarandon
Libérer: 2025-01-14 17:11:45
original
673 Les gens l'ont consulté

HAVING vs. WHERE in SQL: When to Use Each Clause for Data Filtering?

La différence entre les clauses HAVING et WHERE dans l'instruction SQL SELECT

Dans une instruction SQL SELECT, les clauses HAVING et WHERE servent à des fins différentes dans le filtrage des données. Comprendre leur utilisation est essentiel pour obtenir des résultats de requête précis.

Clause AVOIR

La clause HAVING est appliquée après l'agrégation à l'aide de la clause GROUP BY. Il filtre les lignes groupées en fonction d'une condition appliquée à la valeur agrégée. Par exemple :

<code class="language-sql">SELECT City, COUNT(1) AS CNT
FROM Address
WHERE State = 'MA'
GROUP BY City
HAVING COUNT(1) > 5</code>
Copier après la connexion

Cette requête renvoie un tableau contenant les villes du Massachusetts et leur nombre d'adresses (plus de 5).

Clause WHERE

En revanche, la clause WHERE filtre les lignes avant l'agrégation. Il évalue la condition sur des lignes individuelles et sélectionne uniquement les lignes qui satisfont à la condition. Par exemple :

<code class="language-sql">SELECT City, COUNT(1) AS CNT
FROM Address
WHERE State = 'MA' AND City LIKE '%ton'
GROUP BY City</code>
Copier après la connexion

Cette requête renvoie un tableau contenant le nombre de villes du Massachusetts (dont les noms se terminent par « ton ») et leurs adresses.

Différences clés

La principale différence entre HAVING et WHERE réside dans le moment où ils sont appliqués :

  • HAVING filtre les données agrégées après le regroupement.
  • OÙ Filtrez les lignes individuelles avant de les regrouper.

En tirant parti de cette distinction, les développeurs peuvent manipuler et filtrer avec précision les données dans les instructions SQL SELECT pour récupérer les résultats souhaités.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal