Activité : les Bases de données relationnelles - requêtes d'agrégation
Présentation
Le langage SQL permet de réaliser des requêtes de calcul sur les données de plusieurs enregistrements ou lignes. Voici les fonctions que je vais utiliser dans cette activité :
Nom de la fonction | Calcul réalisé |
---|---|
avg() | calcul de la moyenne des valeurs |
sum() | calcul de la somme des valeurs |
max() | obtenir la plus grande valeur |
min() | obtenir la plus petite valeur |
count() | compte le nombre d'enregistrement |
Dans cette activité je vais interroger les données sur les villes du site http://sql.sh en utilisant le langage de requêtes SQL :
- le contenu du fichier villes_point_virgule.csv a été mis dans une table appelée icnville dans une base de données MySQL : * à partir de site Web http://icn.boonum.fr, je vais pouvoir exécuter des requêtes SQL pour faire des recherches dans les données de la table icn_ville. ===== Les requêtes SQL d'agrégation ===== ==== La fonction count() ==== La fonction count() permet de compter le nombre d'enregistrements qui répondent à un critère de sélection. * Exemple compter le nombre d'enregistrements contenus dans le fichier icnville: <code sql> select count(nom) as 'nombre de villes' from icn_ville; </code> Résultat obtenu : 1 ligne(s) trouvée(s) ! ^Nombre de villes^ |36700|
Le résultat de la requête serait le même si on indiquait de compter en utilisant un autre champ, dans la mesure où le champ choisi est renseigné pour toutes les enregistrements. Dans ce cas, on peut écrire count(). </WRAP> Question 1 : Ecrire la requête SQL pour compter le nombre de villes du département de la Haute-Vienne (87) : Résultat à obtenir : ^Nombre de villes^ |201| <code> #Note ta requête SQL ici # # # </code> ==== La fonction max() ==== La fonction max() permet de connaître la plus grande valeur d'un champ de la base de données. * Exemple rechercher la ville qui a l'altitude maximale la plus grande : <code sql> select nom as Ville, max(altmax) as 'altitude max' from icnville; </code> Résultat obtenu : 1 ligne(s) trouvée(s) ! ^Ville ^altitude max^ |Ozan |4807| Question 2 : Ecrire la requête SQL pour connaître la ville qui a le plus d'habitants en 2012 : <code> #Note ta requête SQL ici # # # </code> ==== La fonction sum() ==== La fonction sum() permet de calculer la somme des valeurs de plusieurs enregistrements. * Exemple connaître le nombre d'habitants de la Haute-Vienne en 2012 : <code sql> select dep as Département, sum(nbhab2012) as 'Total habitants' from icn_ville where dep=87; </code> Résultat obtenu : 1 ligne(s) trouvée(s) ! ^Département ^Total habitants^ |87 |373500| Question 3 : Ecrire la requête SQL pour connaître le nombre d'habitants de tous les départements de France : <code> #Note ta requête SQL ici # # # </code> ==== La fonction avg() ==== La fonction avg() permet de calculer la moyenne des valeurs de plusieurs enregistrements. * Exemple connaître le nombre moyen d'habitants des villes de la Haute-Vienne en 2012 : <code sql> select dep as Département, avg(nbhab2012) as 'Moyenne d''habitants' from icn_ville where dep=87; </code> Résultat obtenu : 1 ligne(s) trouvée(s) ! ^Département ^Moyenne d'habitants^ |87 |1858.2090| Question 4 : Ecrire la requête SQL pour connaître le nombre moyen d'habitants des villes du département de la Réunion (974) : <code> #Note ta requête SQL ici # # # </code> ==== Les activités … ====