Avoir une clause dans SQL

Avoir une clause dans SQL

Ce didacticiel vise à vous aider à comprendre et à utiliser la clause ayant des instructions SQL.

Plongeons-nous dans.

SQL ayant une clause

La clause ayant SQL vous permet de définir une condition dans les groupes définis dans un groupe SQL par clause.

Vous pouvez utiliser la clause Group By pour organiser les données en différentes partitions de SQL. Vous pouvez effectuer plusieurs actions sur les groupes, tels que les fonctions agrégées.

À l'aide de la clause ayant, vous pouvez spécifier une condition pour les groupes. Cependant, vous pouvez utiliser la clause ayant sans groupe en jumelant. Dans un tel cas, la clause ayant se comportera de manière similaire à la clause où vous permet de rechercher des enregistrements correspondants.

L'extrait de code suivant définit la syntaxe de la clause SQL: SQL:

Sélectionner des cols
De Table_Name
Groupe par groupe_by_clause
Avoir Group_Condition;

Exemple 1: Utilisation de la clause ayant une table de film

Pour mieux comprendre comment utiliser la clause ayant SQL, nous utiliserons une exemple de base de données fournie par MySQL.

Vous pouvez consulter la ressource fournie suivante pour plus d'informations:

https: // dev.mysql.com / doc / index-autre.html

Pour cette illustration, nous utiliserons la table de film de la base de données Sakila qui est fournie dans le lien donné.

Nous pouvons trouver les films avec une note de location de 2.99 et au-dessus en utilisant la clause ayant comme indiqué dans la requête suivante:

Sélectionnez le titre, release_year, note, location_rate
du film
groupe par note
Avoir Rental_rate> = 2.99;


Le tableau résultant est le suivant:


Dans ce cas, la requête trouve 4 enregistrements correspondants comme indiqué dans le tableau précédent.

Examen 2: Utilisation de la clause ayant une fonction agrégée

Nous pouvons également utiliser la fonction sum () pour déterminer le film avec la somme des notes de film avec une gamme spécifique de location_rate.

Sélectionnez Titre, release_year, Rating, Rental_Rate, SUM (Rental_Rate)
du film
groupe par note
Avoir une somme (location_rate) entre 500 et 600;


Dans ce cas, la requête doit retourner le tableau comme suit: