Nous avons décrit la syntaxe global de select dans l’article précédent. Puis , nous avons détaillé les clauses from et where. Cet article cours va continuer l’explication des clauses de l’ordre select (commençons par l’ordre select group by) :

4- SELECT GROUP BY : les groupes

Une table peut être partitionnée selon un ou plusieurs critères. C’est le rôle de la clause GROUP BY .Elle permet de regrouper les enregistrements d’une requête suivant un ou plusieurs champs

Syntaxe:

 SELECT    liste des attributs

 FROM        Table

WHERE conditions sur les lignes

GROUP BY     critères de groupe

Exemple: Afficher le nombre de ventes par produit

   SELECT    codeP, COUNT (*)

    FROM       VENTE

   GROUP BY         codeP

Attention: Si on utilise GROUP BY, tous les attributs sélectionnés (de la clause SELECT) doivent apparaître sur la clause GROUP BY

Fonctions de calcul :

  • MIN: la valeur minimale
  • MAX: la valeur maximale
  • COUNT: le nombre de valeurs
  • AVG: la moyenne des valeurs
  • SUM: la somme des valeurs

 

Exemple: Afficher la quantité totale vendue pour chaque produit

    SELECT codeP, SUM(qte)

   FROM     VENTE

  GROUP BY          codeP

 

La clause Having :

HAVING est une clause lié à la clause GROUP BY, qui permet d’éliminer les groupes qui ne vérifie pas la condition qu’elle définie.    

Syntaxe:

SELECT    liste des attributs

FROM        Table

WHERE      condition sur les lignes

GROUP BY     critères de groupe

 HAVING  condition sur les groupes

Exemple: Afficher les codes des produits pour lesquels les quantités totales vendues sont supérieures à 100

  SELECT     codeP, SUM(qte)

   FROM   VENTE

   GROUP BY     codeP

   HAVING          SUM(qte) > 100

Attention: les conditions sur les résultats des fonctions de calcul ne peuvent apparaître que sur la clause HAVING.

5- L'ordre order by :

Pour trier les résultats d’une requête, on utilise la clause ORDER BY

Exemple : afficher  les clients triés par ville

SELECT          *

 FROM  Client

ORDER BY   ville, adr ASC/DESC

Nous avons décrit toutes les clauses de l’ordre select. Dans l’article suivant nous décrivant “les sous-requêtes” et comment peut-on les utiliser pour répondre aux cas spécifiques. 

Vous pouvez suivre la liste des vidéos du cours base de données (Merise + Sql + Transact sql) sur notre chaine youtube : Vidéos Bases de données.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *