Les fonctions et les regroupements B.T.S. S.I.O – SI3 – 1
Plan du cours 1. Les fonctions 2. Les regroupements 3. La clause HAVING
Exemple : Table VEHICULE
I. Les fonctions
La fonction count() 5 COUNT() permet de compter le nombre de résultats retournés. Exemple : SELECT COUNT(*) AS nb FROM vehicule ; Cette requête affiche le nombre d'enregistrements dans la table ‘vehicule'. Ecrire la requête permettant d’afficher le nombre de véhicules de marque citroen. SELECT COUNT(*) AS nb FROM vehicule where marque = ‘citroen’;
MAX(champ) permet de récupérer la valeur maximale d’un champ. SELECT MAX(champ) AS nb_max FROM table ; Récupère la valeur maximale dans la table 'table' pour le champ 'champ‘ Ecrire la requête permettant d’afficher le kilométrage le plus élevé SELECT MAX(compteur) AS km_max FROM vehicule ; La fonction max() 6
MIN(champ) permet de récupérer la valeur minimale d’un champ. SELECT MIN(champ) AS nb_min FROM table ; Récupère la valeur minimale dans la table 'table' pour le champ 'champ‘ Ecrire la requête permettant d’afficher le kilométrage le moins élevé SELECT MIN(compteur) AS km_min FROM vehicule ; La fonction min() 7
AVG(champ) permet de récupérer la moyenne d’un champ. SELECT AVG(champ) AS nb_moyen FROM table ; Récupère la valeur moyenne dans la table 'table' pour le champ 'champ‘ Ecrire la requête permettant d’afficher le kilométrage moyen SELECT AVG(compteur) AS km_moyen FROM vehicule ; La fonction avg() 8
II. Le regroupement
Le regroupement La clause de regroupement permet de découper la table en groupes. La clause de regroupement est le plus souvent utilisée avec une ou plusieurs fonctions de calcul. Afficher le nombre de voiture par marque. SELECT marque, count(*) FROM VEHICULE GROUP BY marque ; La clause GROUP BY va permettre le regroupement ou partitionnement du résultat d’une requête en fonction d’une ou plusieurs rubriques faisant parties du SELECT. Attention, vous ne pouvez mettre dans le SELECT que les rubriques contenues dans le group by ou une fonction.
Résultat du regroupement MarqueModeleSerieNumeroCompteur 11 RenaultTwingo1.4JH-698-SJ RenaultKangoo1.4MJ-568-HD56000 RenaultKangoo1.6DF-576-VE12000 Peugeot308HDIED-845-ZS75600 Peugeot3008HDIBN-647-AB MercedesCLSAMGAB-856-EV20000
III. La clause HAVING
La clause HAVING On peut ajouter à la clause de regroupement une condition de recherche par l’intermédiaire d’une clause dépendante HAVING qui va spécifier les conditions de sélection des regroupements. Remarque : HAVING est toujours associé au GROUP BY Afficher la marque de voitures pour laquelle il y a plus de 2 véhicules : SELECT marque, count(*) as nb_voit FROM VEHICULE GROUP BY marque HAVING nb_voit > 2;
Des questions