Département Génie Informatique
Filière D.U.T Réseaux Informatiques et
Année universitaire : 2024/2025 Sécurité
Pr. Houria LAAROUSSI
Module : Systèmes d’information et bases de données
TP 4 : Langage de manipulation des données (Partie 2)
Objectif :
L’objectif de ce travail est de vous aider à :
- Utiliser l’instruction SELECT pour afficher des enregistrements d’une table au de plusieurs tables.
Soient les tables suivantes :
ETUDIANT (CodeEtudiant, Nom, Prenom) ;
MATIERE (CodeMat, LibelleMat, CoeffMat );
EVALUER (CodeEtudiant, CodeMat, Date, Note) ;
A. Partie 1 : requête simple
1- Afficher tous les étudiants.
SELECT * FROM ETUDIANT;
2- Afficher le nom et le coefficient de chaque matière.
SELECT LibelleMat, coeffMat
FROM Matiere ;
3- Afficher les matières ayant un coefficient inférieur à 3.
SELECT *
FROM Matiere
Where coeffMat<3 ;
4- Afficher les étudiant avec un ordre décroissante par le nom des étudiant.
SELECT * FROM ETUDIANT
ORDER BY Nom DESC ;
5- Afficher la liste des évaluations entre '2025-01-09' et '2025-01-12'.
SELECT * FROM EVALUER
WHERE date BETWEEN '2025-01-09' and '2025-01-12' ;
6- Afficher la liste des évaluations triée par note dans un ordre décroissant et par date dans
un ordre croissant ;
SELECT * FROM EVALUER
ORDER BY note DESC, date ASC;
7- Afficher les codes matières et les notes des évaluations passées par l'étudiant 1;
SELECT CodeMat, Note FROM EVALUER
WHERE CodeEtudiant=1 ;
8- Afficher les codes et les notes des évaluation passé par l'étudiant 1 et dont la note est
supérieure ou égale à 16;
SELECT CodeMat, Note FROM EVALUER
WHERE CodeEtudiant=1 and Note>=16;
9- Afficher les prénoms des étudiants dont le prénom se termine par la lettre 'd'.
SELECT Prenom FROM ETUDIANT
WHERE Prenom LIKE '%d' ;
10- Afficher les étudiants ayant un prénom ‘Ahmad’, ‘Hamid’ ou ‘Aya’.
Réponse 1 :
SELECT * FROM ETUDIANT :
WHERE Prenom IN ('Ahmad','Hamid','Aya');
Réponse 2 :
SELECT * FROM ETUDIANT
WHERE Prenom like 'Ahmad' or Prenom like 'Hamid' or Prenom like 'Aya' ;
11- Afficher les étudiants dont le nom contient la lettre ‘a’.
SELECT * FROM ETUDIANT
WHERE Nom LIKE '%a%' ;
12- Afficher les étudiants dont le nom ne contient pas la lettre ‘a’.
SELECT * FROM ETUDIANT
WHERE Nom NOT LIKE '%a%' ;
13- Afficher le prénom des étudiants sans doublons.
SELECT DISTINCT(Prenom) FROM ETUDIANT ;
B. Partie 2 : Utilisation des fonctions de groupes et la jointure:
1- Afficher la note maximale obtenue dans la liste des évaluations.
SELECT MAX(Note) FROM EVALUER;
2- Afficher la note minimale obtenue dans la liste des évaluations.
SELECT MIN(Note) FROM EVALUER;
3- Afficher le nombre des matières.
SELECT COUNT(LibelleMat) FROM MATIERE;
4- Afficher la moyenne des notes de la matière numéro 2 .
SELECT AVG(Note) as 'note moyenne'
FROM EVALUER
WHERE CodeMat=2;
5- pour chaque numéro d’étudiant, Afficher le code étudiant et la moyenne des notes.
SELECT CodeEtudiant, AVG(Note) as 'note moyenne'
FROM EVALUER
GROUP BY CodeEtudiant ;
6- Afficher la note minimale et maximale pour chaque numéro d’étudiant.
SELECT CodeEtudiant, MIN(Note), MAX(Note)
FROM EVALUER
GROUP BY CodeEtudiant ;
7- Afficher les numéros des étudiants dont la note est supérieure à la note minimale
obtenue dans toutes les évaluations.
SELECT * FROM EVALUER
WHERE NOTE > (SELECT MIN(Note) FROM EVALUER);
8- Afficher le nom de la matière et la note maximale obtenue pour chaque matière .
SELECT LibelleMat, MAX(Note)
FROM EVALUER , MATIERE
WHERE [Link] = [Link]
GROUP BY LibelleMat;
9- Afficher le nom et le prénom des étudiants passons des évaluations sans doublons.
SELECT DISTINCT(NOM), Prenom
FROM EVALUER , ETUDIANT
WHERE [Link] = [Link]
10- Afficher la liste des évaluations avec le nom des matières et le nom des étudiants.
SELECT LibelleMat, NOM, Prenom, Note, Date
FROM EVALUER , MATIERE, ETUDIANT
WHERE [Link] = [Link]
AND [Link] = [Link]