Maison > base de données > tutoriel mysql > La relation entre où et avoir dans MySQL

La relation entre où et avoir dans MySQL

下次还敢
Libérer: 2024-05-01 20:42:35
original
790 Les gens l'ont consulté

La clause WHERE filtre les données au niveau de la ligne, tandis que la clause HAVING filtre les données au niveau du groupe. La clause WHERE est appliquée après le mot clé FROM, tandis que la clause HAVING est appliquée après le mot clé GROUP BY.

La relation entre où et avoir dans MySQL

Relation entre les clauses WHERE et HAVING dans MySQL

WHERE et HAVING sont deux clauses utilisées pour filtrer les ensembles de données MySQL. La différence entre eux est que la clause WHERE est utilisée pour filtrer les lignes, tandis que la clause HAVING est utilisée pour filtrer les groupes.

Clause WHERE

La clause WHERE est écrite après le mot-clé FROM et est utilisée pour filtrer les lignes en fonction de conditions données. Il ne prend en compte que la valeur de chaque ligne, pas les autres lignes du groupe. La clause WHERE peut être utilisée pour filtrer les lignes qui ne remplissent pas les conditions.

Clause HAVING

La clause HAVING est écrite après le mot-clé GROUP BY et est utilisée pour filtrer le groupe en fonction des données du groupe. Il considère les valeurs agrégées du groupe et filtre le groupe en fonction de ces valeurs. La clause HAVING peut être utilisée pour filtrer les groupes qui ne répondent pas aux critères.

Relations

Les clauses WHERE et HAVING sont principalement utilisées pour résoudre différents problèmes :

  • La clause WHERE est utilisée pour filtrer les données au niveau des lignes.
  • La clause HAVING est utilisée pour filtrer les données au niveau du groupe.

Exemple

L'exemple suivant montre la différence entre les clauses WHERE et HAVING :

SELECT *
FROM sales
WHERE product_id = 1;  -- WHERE 过滤行
Copier après la connexion

Cette requête renverra tous les enregistrements de ventes avec l'ID de produit 1.

SELECT product_id, SUM(quantity) AS total_quantity
FROM sales
GROUP BY product_id
HAVING total_quantity > 100;  -- HAVING 过滤组
Copier après la connexion

Cette requête renverra tous les groupes de produits dont l'ID produit et le total de leurs ventes sont supérieurs à 100.

Il est important de comprendre la différence entre les clauses WHERE et HAVING afin de filtrer efficacement les données dans les requêtes MySQL.

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!

Étiquettes associées:
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
Derniers numéros
MySQL arrête le processus
Depuis 1970-01-01 08:00:00
0
0
0
Env中mysql
Depuis 1970-01-01 08:00:00
0
0
0
Erreur lors de l'installation de MySQL sous Linux
Depuis 1970-01-01 08:00:00
0
0
0
php - problème de surveillance MySQL
Depuis 1970-01-01 08:00:00
0
0
0
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal