Ayant vs Où Clause
Les machines, notamment les ordinateurs, sont conçues comme un moyen de communication humaine. En tant que tels, ils sont créés de telle sorte que leurs comportements sont contrôlés par des programmes utilisant un langage artificiel. Le langage naturel comme l'anglais ne peut pas être utilisé par les ordinateurs car le vocabulaire est trop volumineux et en constante évolution.
Le langage informatique doit être précis et précis car les ordinateurs n’ayant pas de sens commun, il est basé sur un algorithme permettant de calculer et de traiter les données, ainsi que de permettre aux ordinateurs de raisonner. Plusieurs langages informatiques ont été créés. Chacun d'eux a deux composants, la syntaxe ou la forme et la sémantique ou la signification.
Il existe des langages d'assemblage, simultanés, de flux de données, de définition, fonctionnels, intermédiaires, logiques, procéduraux et de requête. Les langages de requêtes sont utilisés pour interroger des bases de données et des systèmes d’information. Un de ces langages est le langage SQL (Structured Query Language)..
SQL est un langage informatique de base de données avec les fonctions suivantes: insertion de données, mise à jour et suppression, accès et contrôle, contrôle et modification de schéma. Il est en outre subdivisé dans les éléments suivants:
Expressions
Prédicats
Des requêtes
Les déclarations
Clauses
SQL contient les clauses suivantes:
Clause de contrainte
Pour la clause de mise à jour
De la clause
Clause Group BY
Commande par clause
Clause Where Of
Avoir la clause
Où clause
La clause having est toujours utilisée avec la clause group by. Il est utilisé pour filtrer les enregistrements renvoyés par une clause group by à l'aide d'un prédicat. Les résultats d'une clause group by sont restreints à l'aide de la clause having et seules les lignes spécifiées sont sélectionnées..
Cela ressemble à une clause where et une requête peut avoir à la fois une clause having et une clause where. Dans ce cas, la clause where est utilisée en premier et une fois les lignes individuelles regroupées, la clause having est utilisée. La clause having s'applique à l'ensemble du groupe, tandis que la clause where s'applique à des lignes individuelles..
La clause where est utilisée pour sélectionner les lignes à inclure dans la requête. Elle utilise un prédicat de comparaison. Elle exclut également les lignes qui ne sont pas évaluées par le prédicat de comparaison. Il est utilisé dans des conditions faisant référence à des fonctions d'agrégat et à la sélection de lignes individuelles dans une table spécifiée dans une clause from..
Sans cela, le jeu de lignes résultant deviendrait très volumineux. Il utilise les opérateurs suivants: = ou égal, ou différent,> ou supérieur à, = ou supérieur ou égal, <= or less than or equal, BETWEEN, LIKE, and IN.
Résumé
1.La clause having est utilisée dans les lignes groupées, tandis que la clause where est utilisée dans des lignes individuelles..
2. Lorsqu'elles sont utilisées ensemble, la clause where est utilisée en premier pour sélectionner les lignes à regrouper, puis la clause having est utilisée.
3.La clause having est utilisée avec une clause group by tandis que la clause where est poursuivie dans les lignes spécifiées par une clause from.