Maison  >  Article  >  base de données  >  Utilisation d'avoir et où dans SQL

Utilisation d'avoir et où dans SQL

下次还敢
下次还敢original
2024-05-02 02:33:171180parcourir

La clause WHERE filtre les lignes de l'instruction SELECT et filtre les données sous-jacentes en fonction des conditions des lignes. La clause HAVING filtre les groupes dans une instruction GROUP BY, en filtrant les groupes en fonction de leurs résultats agrégés. Les principales différences : WHERE traite les lignes individuelles et évalue les conditions des lignes ; HAVING traite les groupes et évalue les résultats agrégés des groupes ; WHERE affecte les lignes qui sont incluses dans les résultats, et HAVING affecte les groupes qui sont inclus dans les résultats.

Utilisation d'avoir et où dans SQL

Utilisation des clauses WHERE et HAVING dans SQL

Les clauses WHERE et HAVING sont utilisées dans SQL pour filtrer les ensembles de données, mais elles diffèrent par le contexte de traitement et la cible :

WHERE Clause :

  • La clause WHERE est utilisée pour filtrer les lignes après FROM dans l'instruction SELECT.
  • Il évalue les lignes de la table ou de la vue sous-jacente en fonction d'une condition pour chaque ligne.
  • Il est utilisé pour filtrer les données sous-jacentes, affectant ainsi les lignes incluses dans le résultat final.

Exemple :

<code class="sql">SELECT * FROM employees WHERE salary > 50000;</code>

Cette requête renvoie tous les employés dont le salaire est supérieur à 50 000 $.

Clause HAVING : 

  • La clause HAVING est utilisée pour filtrer les groupes dans l'instruction GROUP BY.
  • Il évalue les groupes en fonction de leurs résultats agrégés.
  • Il est utilisé pour filtrer les groupes, affectant ainsi les groupes à inclure dans le résultat final.

Exemple :

<code class="sql">SELECT department, SUM(salary) AS total_salary
FROM employees
GROUP BY department
HAVING total_salary > 100000;</code>

Cette requête renvoie le salaire total pour tous les départements où le salaire total est supérieur à 100 000 $.

Principale différence :

  • Contexte de gestion : La clause WHERE gère les lignes individuelles, tandis que la clause HAVING gère les groupes.
  • Cible d'évaluation : La clause WHERE évalue la condition d'une seule ligne, tandis que la clause HAVING évalue les résultats agrégés du groupe.
  • Impact sur le résultat : La clause WHERE affecte les lignes incluses dans le résultat, tandis que la clause HAVING affecte les groupes inclus dans le résultat.

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