Différence entre avoir et où clause La différence entre
Avoir vs Clause
Les machines, en particulier 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 qui utilisent un langage artificiel. Le langage naturel comme l'anglais ne peut pas être utilisé par les ordinateurs parce que le vocabulaire est trop vaste et en constante évolution.
Le langage informatique doit être précis et précis parce que les ordinateurs n'ont pas de bon sens, donc il est basé sur un algorithme qui peut calculer et traiter les données et permettre aux ordinateurs de raisonner. Plusieurs langages informatiques ont été créés. Chacun d'eux a deux composantes, 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ête sont utilisés pour interroger les bases de données et les systèmes d'information. Un tel langage est le langage SQL (Structured Query Language).
SQL est un langage informatique de base de données avec les fonctions suivantes: REPLACEion de données, mise à jour et suppression, accès et contrôle, et contrôle et modification de schéma. Il est subdivisé en les éléments suivants:
Expressions
Prédicats
Requêtes
Instructions
Clauses
SQL a les clauses suivantes:
Clause de contrainte
Clause de mise à jour
clause
Clause BY Group
Clause Order By
Où Current Of clause
Clause
Clause Where
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 utilisant un prédicat. Les résultats d'une clause group by sont restreints en utilisant la clause having et seules les lignes spécifiées sont sélectionnées.
Il est similaire à 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 après regroupement des lignes individuelles, la clause having est utilisée. La clause having s'applique au groupe dans son ensemble tandis que la clause where s'applique aux lignes individuelles.
La clause where est utilisée pour sélectionner les lignes qui doivent être incluses dans la requête et utilise un prédicat de comparaison et exclut les lignes qui ne sont pas évaluées par le prédicat de comparaison. Il est utilisé dans des conditions qui font référence à des fonctions d'agrégat et pour sélectionner des lignes individuelles dans une table spécifiée dans une clause from.
Sans cela, l'ensemble des lignes qui en résulterait deviendrait très grand. Il utilise les opérateurs suivants: = ou égal, ou différent,> ou supérieur à, = ou supérieur ou égal, <= ou inférieur ou égal, BETWEEN, LIKE et IN.
Résumé
1. La clause having est utilisée dans les lignes groupées alors 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 à grouper, puis la clause having est utilisée.
3. La clause having est utilisée avec une clause group by alors que la clause where est sued dans les lignes spécifiées par une clause from.