Exercice-Requêtes de séléction sur la base de données UNIVERSITE

Transcription

Exercice-Requêtes de séléction sur la base de données UNIVERSITE
Exercice-Requêtes de séléction sur la base de données UNIVERSITE
Etudiant(Matricule, Nom, Prénom, DateNas,Niveau)
Cours(Code,NomCours,Enseignant)
Examen(Matricule,Note,Code)
Requête sur la table Etudiant
1. Trouver tous les étudiants inscrits à M1 et tous les étudiants inscrits à M2
Requêtes sur la table Examen:
Les étudiants sont identifiés par leurs matricules, les cours par leurs codes.
2. Trouver tous les étudiants qui ont soutenu l'examen du cours 002
3. Trouver tous les étudiants qui ont soutenu l'examen du cours 007 et tous les étudiants
qui ont soutenu l'examen du cours 005
4. Compter les examens soutenus par un étudiant (exemple avec matricule 'et666')
5. Compter le nombre d'étudiants qui ont soutenu l'examen du cours 005
6. Calculer la moyenne des notes d'un étudiant (exemple avec matricule 'm1234')
7. Compter les examens soutenus par chaque étudiant (utiliser group by)
8. Calculer la moyenne des notes de tous les étudiants (utiliser group by)
9. La même au dessus, mais afficher seulement les étudiants (et leurs moyennes) dont la
moyenne est >= 15 (utiliser group by et having)
10. Trouver la moyenne de notes de cours 005
11. Trouver la moyenne de notes de chaque cours (utiliser group by)
Requêtes utilisant les tables Etudiant et Examen
12. Calculer la moyenne des notes d'un étudiant (exemple Jean Dupont)
13. Calculer la moyenne des notes de tous les étudiants, afficher les noms des étudiants,
leur matricules et leurs moyennes (utiliser group by)
Requêtes utilisant les tables Cours et Examen
14. Trouver la moyenne de notes d'un certain cours (exemple Economie 1)
15. Trouver la moyenne de notes de chaque cours (utiliser group by)
Requêtes utilisant les tables Etudiant, Cours et Examen
16. Trouver les examens soutenus par chaque étudiant, afficher les noms des étudiants et
les noms des cours
17. Trouver tous les étudiants qui ont soutenu l'examen d'un certain cours (exemple
Economie 1), afficher les noms des étudiants
18. Trouver les examens soutenus par un étudiant (exemple Jean Dupont) afficher les
noms des cours
Solutions :
1. SELECT Nom, Matricule, niveau
FROM Etudiant
WHERE Niveau = 'M1' or Niveau = 'M2';
2. SELECT Matricule
FROM examen
3. WHERE Code='002';
SELECT Matricule
FROM examen
WHERE Code = '007' or Code = '005';
4. SELECT count(*) AS NombreExamens
FROM examen
WHERE Matricule = 'et666';
5. SELECT count(*) AS ExamensSoutenus
FROM examen
WHERE Code = '005';
6. SELECT avg(Note) AS Moyen
FROM examen
WHERE Matricule = 'et666';
7. SELECT Matricule, count(*) AS ExamensSoutenus
FROM examen
GROUP BY Matricule;
8. SELECT Matricule, avg(Note) AS Moyen
FROM examen
GROUP BY matricule;
9. SELECT Matricule, avg(Note) AS Moyen
FROM examen
GROUP BY matricule
HAVING avg(Note) >= 15;
10. SELECT avg(Note) AS Moyen
FROM examen
WHERE Code = '005';
11. SELECT Code, avg(Note) AS Moyen
FROM examen
GROUP BY Code;
12. SELECT avg(Note) AS Moyen
FROM examen, Etudiant
WHERE Examen.Matricule = Etudiant.Matricule and Nom = 'Dupont' and Prenom = 'Jean';
13. SELECT Nom, Examen.Matricule, avg(Note) AS Moyen
FROM examen, Etudiant
WHERE Examen.Matricule = Etudiant.Matricule
GROUP BY Examen.Matricule, Nom;
14. SELECT avg(Note) AS Moyen
FROM examen, Cours
WHERE Examen.Code = Cours.Code and CNom = 'Economie1';
15. SELECT CNom, avg(Note) AS Moyen
FROM examen, Cours
WHERE Examen.Code = Cours.Code
GROUP BY Examen.Code, Cnom;
16. SELECT Nom, Etudiant.Matricule, CNom
FROM examen, Etudiant, Cours
WHERE Examen.Matricule=Etudiant.Matricule And Examen.Code=Cours.Code
17. SELECT Nom, Etudiant.Matricule
FROM examen, Etudiant, Cours
WHERE Examen.Matricule=Etudiant.Matricule And Examen.Code=Cours.Code And
Cnom='Economie1'
18. SELECT CNom
FROM examen, Etudiant, Cours
WHERE Examen.Matricule=Etudiant.Matricule And Examen.Code=Cours.Code and
Etudiant.Nom='Dupont' and Etudiant.Prenom ='Jean';