Différence entre la clause where et having en SQL

Table des matières:

Différence entre la clause where et having en SQL
Différence entre la clause where et having en SQL

Vidéo: Différence entre la clause where et having en SQL

Vidéo: Différence entre la clause where et having en SQL
Vidéo: Difference Between WHERE and HAVING Clause | SQL Tutorial | Where vs Having 2024, Novembre
Anonim

Key Difference - where vs having clause in SQL

Les données sont importantes pour chaque organisation. Par conséquent, il est nécessaire de stocker les données de manière organisée pour les récupérer. Les données sont stockées dans des tables. Une base de données est constituée d'un ensemble de tables. Les bases de données relationnelles sont un type de base de données courant. Dans une base de données relationnelle, les tables sont liées les unes aux autres. Par exemple, la table client est connectée à la table commande. Un système de gestion de base de données relationnelle (RDBMS) est un système de gestion de base de données basé sur un modèle relationnel. Il est utilisé pour gérer les bases de données relationnelles. Quelques exemples de RDBMS sont MySQL, MSSQL et Oracle. Le langage de requête structuré (SQL) est le langage utilisé pour manipuler et récupérer des données dans une base de données relationnelle. Il existe différentes clauses dans SQL pour effectuer différentes tâches. Deux d'entre eux sont où et avoir. Cet article traite de la différence entre where et having clause en SQL. La principale différence entre la clause where et having dans SQL est que la clause where est utilisée pour filtrer les enregistrements avant qu'un regroupement ou une agrégation ne se produise, tandis que la clause having est utilisée pour filtrer les enregistrements après un regroupement ou une agrégation.

Qu'est-ce que la clause where en SQL ?

Il aide à récupérer, mettre à jour ou supprimer un ensemble particulier de données de la table en fonction de la condition donnée. Le programmeur peut utiliser la clause where pour restreindre et récupérer uniquement les données requises. La requête s'exécute uniquement sur les enregistrements où la condition spécifiée par la clause where est vraie. Il peut être utilisé avec select, update et delete.

Reportez-vous au tableau des étudiants ci-dessous,

Différence entre where et having clause dans SQL_Figure 02
Différence entre where et having clause dans SQL_Figure 02
Différence entre where et having clause dans SQL_Figure 02
Différence entre where et having clause dans SQL_Figure 02

Pour sélectionner le nom et l'âge de l'étudiant dont le student_id est égal à 3, la requête SQL suivante peut être utilisée.

select name, age from student where student_id=3;

Il est également possible d'utiliser des opérateurs tels que différent de (!=), supérieur à (>), inférieur à (=), inférieur ou égal à (<=). Pour sélectionner l'étudiant_id et le nom dont l'âge n'est pas égal à 15 ans, la requête SQL suivante peut être utilisée.

select student_id, nom de l'étudiant où l'âge !=15;

Pour changer l'âge de l'élève de 2 à 13 ans, la requête suivante peut être utilisée.

update student set age=13 where id=3;

Pour supprimer l'enregistrement dont le student_id est 4, la requête suivante peut être utilisée.

supprimer de l'étudiant où student_id=4;

Les opérateurs et, ou peuvent être utilisés pour combiner plusieurs conditions.

select name from student where student_id=1 and age=15; requête récupérera le nom Ann.

Voici quelques exemples de clause where en SQL. S'il y a une clause Group By, la clause where apparaît avant cela.

Qu'est-ce que la clause having en SQL ?

Il existe des fonctions fournies par le langage SQL pour effectuer facilement des calculs. Elles sont appelées fonctions d'agrégation. Le min() est utilisé pour trouver la plus petite valeur de la colonne sélectionnée. Le max () est utilisé pour trouver la valeur maximale de la colonne sélectionnée. avg () est utilisé pour trouver la moyenne dans la colonne et sum () est utilisé pour trouver le total de la colonne. Ce sont quelques exemples de fonctions d'agrégation. Reportez-vous au tableau de commande ci-dessous,

Différence entre where et having clause dans SQL_Figure 03
Différence entre where et having clause dans SQL_Figure 03
Différence entre where et having clause dans SQL_Figure 03
Différence entre where et having clause dans SQL_Figure 03

Le programmeur peut écrire la requête SQL comme suit pour récupérer les clients dont le solde est supérieur à 2000.

selectdu groupe de commande par client ayant la somme (solde) > 2000.

Cela imprimera les enregistrements des clients dont la somme du solde est supérieure à 2000. Cela imprimera les enregistrements des clients Ann et Alex.

La clause having est utilisée pour récupérer les valeurs des groupes qui satisfont certaines conditions. Par conséquent, le groupe qui correspond à la condition donnée apparaîtra à la suite de cela. La clause having apparaît après la clause group-by. Si la clause group-by n'est pas présente, la clause having fonctionnera de la même manière que la clause where.

Quelles sont les similarités entre les clauses where et having en SQL ?

  • Les deux sont des clauses en langage de requête structuré.
  • Les deux peuvent être utilisés pour filtrer et récupérer un ensemble de données.

Quelle est la différence entre la clause where et having en SQL ?

where vs having clause en SQL

Le where est une clause SQL utilisée pour spécifier une condition lors de la récupération des données d'une seule table ou en se joignant à plusieurs tables. Havoir est une clause SQL qui spécifie qu'une instruction de sélection SQL ne doit renvoyer que les lignes où les valeurs agrégées remplissent les conditions spécifiées.
But
La clause where est utilisée pour filtrer les lignes. La clause having est utilisée pour filtrer les groupes.
Agrégation
La clause where ne peut pas être utilisée avec les fonctions d'agrégation sauf si elle se trouve dans une sous-requête contenue dans une clause having. Les fonctions d'agrégation peuvent être utilisées avec la clause having.
Méthode de filtrage
La clause where se comporte comme un pré-filtre. La clause having se comporte comme un post-filtre.
Group By Clause Order
La clause where est utilisée avant la clause Group By. La clause having est utilisée après la clause Group By.
Utilisé avec
La clause where peut être utilisée avec select, update et delete. La clause having n'est utilisée qu'avec select.

Résumé - clause where vs having en SQL

Le langage de requête structuré (SQL) est le langage utilisé dans les bases de données relationnelles. Les where ont deux clauses en SQL. Cet article traite de la différence entre where et having clause. La différence entre la clause where et having dans SQL est que where est utilisé pour filtrer les enregistrements avant qu'un regroupement ou une agrégation ne se produise, alors que having est utilisé pour filtrer les enregistrements après un regroupement ou qu'une agrégation ne se produise.

Conseillé: