Langage de manipulation des données (LMD) - Partie 2
- Fiche de cours
- Quiz
- Profs en ligne
- Videos
- Application mobile
Après avoir étudier comment projeter et restreindre une donnée, nous allons aborder successivement le tri et le regroupement de résultat et les jointures.
Reprenons notre exemple de la table Voiture (exemple vu dans la fiche précédente intitulée « Langage de manipulation – Partie 1 » :
Marque |
Modèle |
Série |
Numéro |
Compteur |
Renault | 18 | RL | 4698 SJ 45 | 123 450 |
Renault | Kangoo | RL | 4568 HD 16 | 56 000 |
Renault | Kangoo | RL | 6576 VE 38 | 12 000 |
Peugeot | 106 | KID | 7845 ZS 83 | 75 600 |
Peugeot | 309 | Chorus | 7647 ABY 82 | 189 500 |
Ford | Escort | Match | 8562 EV 23 |
La sélection de toutes les colonnes de la table triées par ordre croissant de l'attribut Marque se fait par l'instruction :
SELECT * FROM VOITURE
ORDER BY Marque ASC
Marque |
Modèle |
Série |
Numéro |
Compteur |
Ford | Escort | Match | 8562 EV 23 | |
Peugeot | 106 | KID | 7845 ZS 83 | 75 600 |
Peugeot | 309 | Chorus | 7647 ABY 82 | 189 500 |
Renault | 18 | RL | 4698 SJ 45 | 123 450 |
Renault | Kangoo | RL | 4568 HD 16 | 56 000 |
Renault | Kangoo | RL | 6576 VE 38 | 12 000 |
La sélection de toutes les colonnes de la table triées par ordre croissant de l'attribut Marque, puis par ordre décroissant du compteur, se fait par l'instruction :
SELECT * FROM VOITURE
ORDER BY Marque ASC, Compteur DESC
Marque |
Modèle |
Série |
Numéro |
Compteur |
Ford | Escort | Match | 8562 EV 23 | |
Peugeot | 309 | Chorus | 7647 ABY 82 | 189 500 |
Peugeot | 106 | KID | 7845 ZS 83 | 75 600 |
Renault | 18 | RL | 4698 SJ 45 | 123 450 |
Renault | Kangoo | RL | 4568 HD 16 | 56 000 |
Renault | Kangoo | RL | 6576 VE 38 | 12 000 |
Les principales fonctions pouvant être effectuées par groupe sont :
• AVG : calcule la moyenne d'une colonne (ou de chaque regroupement si elle est couplée à la clause GROUP BY) ;
• COUNT : calcule le nombre de lignes d'une table (ou de chaque regroupement...) ;
• MAX : calcule la valeur maximale d'une colonne (ou de chaque regroupement...) ;
• MIN : calcule la valeur minimale colonne (ou de chaque regroupement...) ;
• SUM : effectue la somme des valeurs d'une colonne (ou de chaque regroupement...).
Exemple :
Soit la table VOITURE ci-dessus :
l'affichage des moyennes des compteurs par marque se fait par l'instruction :
SELECT Marque, AVG(Compteur) AS Moyenne FROM VOITURE GROUP BY Marque
Marque |
Moyenne |
Renault | 63816,6 |
Peugeot | 132550 |
Ford |
La clause HAVING va de pair avec la clause GROUP BY, elle permet d'appliquer une restriction sur les groupes créés grâce à la clause GROUP BY.
Exemple :
l'affichage des moyennes des compteurs non nulles regroupées par marque se fait par l'instruction :
SELECT Marque, AVG(Compteur) AS Moyenne FROM VOITURE GROUP BY Marque HAVING Moyenne IS NOT NULL
Marque |
Moyenne |
Renault | 63816,6 |
Peugeot | 132550 |
En SQL, l'expression d'une jointure se fait en précisant le nom des colonnes des tables sur lesquelles on fait la jointure, en désignant les colonnes des différentes tables en écrivant le nom de la table, suivie d'un point puis du nom de la colonne. La clause WHERE permet de préciser la qualification de la jointure.
Soit les deux tables suivantes :
Table OCCASION
Marque |
Modèle |
Série |
Numéro |
Compteur |
Renault | 18 | RL | 4698 SJ 45 | 123 450 |
Renault | Kangoo | RL | 4568 HD 16 | 56 000 |
Renault | Kangoo | RL | 6576 VE 38 | 12 000 |
Peugeot | 106 | KID | 7845 ZS 83 | 75 600 |
Peugeot | 309 | Chorus | 7647 ABY 82 | 189 500 |
Ford | Escort | Match | 8562 EV 23 | |
Fiat | Punto | GTI | 8941 UD 61 | |
Audi | A4 | Quattro | 7846 AZS 75 | 21 350 |
Table SOCIETE
Nom |
Pays |
Renault | France |
Fiat | Italie |
Peugeot | France |
Volkswagen | Allemagne |
Ford | Etats-Unis |
L'affichage des pays d'origine des voitures par marque/modèle se fait par l'instruction :
SELECT Occaz.Marque, Occaz.Modele, Societe.Pays FROM OCCAZ,SOCIETE
WHERE Occaz.Marque = Societe.Nom
Marque |
Modèle |
Pays |
Renault | 18 | France |
Renault | Kangoo | France |
Renault | Kangoo | France |
Peugeot | 106 | France |
Peugeot | 309 | France |
Ford | Escort | Etats-Unis |
Fiat | Punto | Italie |
Le LMD est essentiel car il permet de choisir les données qui intéressent une l’utilisateur. Partant du constat que la commande SELECT est la base, la LMD permet, en outre, de trier et de regrouper les données afin de retenir celle que l’on veut étudier. Les jointures permettent de lier deux tables.
Vous avez obtenu75%de bonnes réponses !