Solutions à l'exercice
Nous allons utiliser la BD du cours #6 sur LEA - EtudiantProgramme.sqlite - pour l'exercice.
- Listez tous les étudiants avec leur note par cours. Vous devez afficher le nom du cours, le nom de l'étudiant et la note pour le cours. Ordonnancez par nom d'étudiants.
SELECT Cours.Nom AS NomCours, Etudiants.Nom AS NomEtudiant, ec.Note FROM Etudiants_Cours ec JOIN Cours ON ec.CoursId = Cours.Id JOIN Etudiants ON ec.EtudiantsDa = Etudiants.DA ORDER BY Etudiants.Nom
- Ouvrez un nouveau script avec
Alt+epour garder le résultat de la requête #1 accessible. - Dans ce nouveau script, créez une requête pour mettre à jour toutes les notes de Gino Chouinard à 0, car il a triché! Utilisez son DA directement.
UPDATE Etudiants_CoursSET Note = 0WHERE EtudiantsDA = 'CHOG333333';
- Réexécutez la requête #1, vous devriez voir les deux notes de Gino Chouinard à 0.
- Refaite la même requête qu'en #3, mais on recherchant Gino Chouinard par son prénom et nom. Cette fois-ci donnez lui la note de 1 au lieu de 0.
UPDATE Etudiants_CoursSET Note = 1FROM (SELECT DA FROM Etudiants WHERE Nom = 'Gino Chouinard') AS etuWHERE Etudiants_Cours.EtudiantsDA = etu.DA;
- Le Cégep a décidé de bannir Gino Chouinard. Supprimez-le de la base de données avec ces notes aussi. Ne pas oubliez de respecter l'ordre de suppression.
-- Important de supprimer Etudiants_Cours avant de supprimer l'étudiant sinon erreur!DELETE FROM Etudiants_Cours WHERE EtudiantsDA = 'CHOG333333';DELETE FROM Etudiants WHERE DA = 'CHOG333333';
- Réexécutez la requête #1, Gino Chouinard ne devrait plus être présent.
Version originale par Pierre-Luc Boulanger