PostgreSQL a une clause

PostgreSQL a une clause
Dans ce tutoriel, vous apprendrez à travailler avec la clause PostgreSQL pour retourner uniquement des ensembles de lignes qui répondent à un critère spécifique.

La clause PostgreSQL a été étroitement utilisée en conjonction avec le groupe par déclaration, restreignant le résultat uniquement aux lignes qui répondent à l'état de la clause.

Utilisation de base

La syntaxe la plus élémentaire pour la clause de présentation est:

Sélectionnez COL_LIST dans le groupe Table_Name par Col ayant une condition;

Dans la syntaxe exprimée ci-dessus, la clause a filtre les groupes, puis le groupe par clause les trie par la colonne spécifiée.

Cela signifie que seules les colonnes qui répondent à l'état de la clause qui sera dans le groupe par clause.

La clause ayant une priorité inférieure à celle des autres clauses telles que SELECT, où et le groupe par.

Si vous devez inclure une déclaration de commande dans la requête, assurez-vous de l'ajouter après la clause d'avoir une priorité inférieure à la clause.

Exemple 1

Illustrons comment utiliser la clause ayant à l'aide d'un exemple du monde réel. Pour cette illustration, nous utiliserons la base de données d'échantillon Sakila.

Select Film_id, titre, release_year, longueur du groupe de films par film_id ayant une somme (longueur)> 150 limite 10;

Dans l'exemple ci-dessus, nous sélectionnons les colonnes spécifiées dans la table de film où la somme de la longueur de chaque film_id est supérieure à 150.

La requête ci-dessus ne doit retourner que les films où la longueur était supérieure à 150 groupées par film_id.

Voici un exemple de sortie:

Exemple 2

Nous pouvons également utiliser la clause ayant avec d'autres fonctions agrégées. Un exemple est les fonctions min et max.

SELECT PAYS_ID, client_id, Montant du groupe de paiement par paiement_id ayant max (montant)> 10 limite 5;

La requête ci-dessus doit renvoyer les valeurs où le montant est supérieur à 10.

Exemple 3

Vous pouvez également utiliser la clause ayant avec la clause WHERE. Par exemple:

Sélectionner le paiement_id,
Max (montant)
Du paiement
Où Rental_id> 10000
Groupe par paiement_id
Avoir max (montant) < 5 LIMIT 10;

Dans ce cas, nous regroupons par le paiement_id tous les enregistrements dont la valeur maximale est inférieure à 5 et l'ID de location est supérieur à 10000 (déterminé par la clause WHERE).

En résumé

La clause PostgreSQL vous permet de filtrer les résultats qui satisfont à une condition agrégée spécifique.