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

La différence entre avoir et où dans Oracle

下次还敢
下次还敢original
2024-04-30 08:06:16643parcourir

La différence entre les clauses HAVING et WHERE est que HAVING est utilisé pour filtrer les résultats agrégés (c'est-à-dire les données groupées), tandis que WHERE est utilisé pour filtrer les lignes de la table ou de la vue de base. De plus, HAVING nécessite que les données soient regroupées, contrairement à WHERE.

La différence entre avoir et où dans Oracle

Différence entre les clauses HAVING et WHERE dans Oracle

Introduction
HAVING et WHERE sont deux clauses utilisées dans Oracle pour filtrer les résultats des données. Bien qu’ils aient tous des objectifs similaires, ils ont des scénarios d’application et des fonctions différents.

Scénarios d'application

  • Clause WHERE : Filtrer les lignes dans la table ou la vue de base.
  • Clause HAVING : Filtrer les résultats des fonctions d'agrégation (telles que SUM, COUNT), généralement utilisées pour filtrer les données groupées.

Grammaire
Clause WHERE :

<code>SELECT column(s) FROM table WHERE condition(s)</code>

HAVING clause :

<code>SELECT column(s)
FROM table
GROUP BY column(s)
HAVING condition(s)</code>

Comparaison des fonctions

Caractéristiques WHER Clause E Clause HAVING
Fonction Filtrer les lignes Filtrer les résultats de l'agrégation
Scénarios d'utilisation Table ou vue de base Données groupées
Calendrier des opérations Avant la récupération des données Après l'agrégation des données
Regroupement obligatoire Non requis Obligatoire
Opérateurs de comparaison Supportés Non pris en charge (seules les fonctions d'agrégation sont prises en charge)

Exemple

Exemple de clause WHERE :

<code>SELECT * FROM customers WHERE country = 'USA';</code>

cette requête Récupérer tous les clients des États-Unis États.

Exemple de clause HAVING :

<code>SELECT country, COUNT(*) AS customer_count
FROM customers
GROUP BY country
HAVING customer_count > 1000;</code>

Cette requête regroupe le nombre de clients dans chaque pays et récupère les pays avec plus de 1000 clients.

Conclusion

Les clauses HAVING et WHERE sont utilisées pour filtrer les données dans Oracle, mais leurs fonctions sont différentes et leurs scénarios d'application sont également différents. La clause WHERE est utilisée pour filtrer les données sous-jacentes, tandis que la clause HAVING est utilisée pour filtrer les données agrégées.

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