AccueilAccueil
Maxicours.com, Le N°1 du soutien scolaire sur Internet

Cours de Systèmes d'information de gestion Terminale STMG - Langage de manipulation des données (LMD) - Partie 2

 

Toutes les matières 

cours de Systèmes d'information de gestion 

Terminale STMG 

Langage de manipulation des données (LMD) - Partie 2

Note par nos Maxinautes :  

Objectif : qu’est-ce qu’un tri, un groupement ou une jointure ?

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.
 
1. Le tri et le regroupement de résultat
a. Le tri de résultat
La clause ORDER BY va nous permettre d’afficher les résultats. Cette clause est suivie des mots clés ASC ou DESC qui précisent respectivement si le tri se fait de manière croissante (par défaut) ou décroissante. Le classement se fait sur des nombres ou des chaînes de caractères.

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
b. Le regroupement de résultats
Il peut être intéressant de regrouper des résultats afin de faire des opérations par groupe (opérations statistiques par exemple). Cette opération se réalise à l'aide de la clause GROUP BY, suivie du nom de chaque colonne sur laquelle on veut effectuer des regroupements.

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
2. Les jointures
Une jointure est un produit cartésien de deux tables. On appelle équi-jointure une jointure dont la qualification est une égalité entre deux colonnes.

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


L'essentiel

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.
Cette fiche de cours t'intéresse ?
N'attends plus pour en voir d'autres !
Langage de manipulation des données (LMD) - Partie 2 4/5 basé sur 2 votes.
Vous êtes ici :
Première visite
Je m'abonne !