Maison >base de données >tutoriel mysql >La relation entre où et avoir dans MySQL
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.
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 :
Exemple
L'exemple suivant montre la différence entre les clauses WHERE et HAVING :
<code class="sql">SELECT * FROM sales WHERE product_id = 1; -- WHERE 过滤行</code>
Cette requête renverra tous les enregistrements de ventes avec l'ID de produit 1.
<code class="sql">SELECT product_id, SUM(quantity) AS total_quantity FROM sales GROUP BY product_id HAVING total_quantity > 100; -- HAVING 过滤组</code>
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!