Profitez des promotions incroyables de nos cours en pdf!! Ignorer
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) :
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 :
Exemple: Afficher la quantité totale vendue pour chaque produit
SELECT codeP, SUM(qte)
FROM VENTE
GROUP BY codeP
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.
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.