Dans cette section, vous trouverez des ressources sur les cours que j'enseigne à savoir de la documentation, du code, des vidéos etc. Dès que je trouve quelque chose d'intéressant à partager, je le mettrai à disposition ici pour mes étudiants.
Travaux dirigés 14
##Auteur : Enseignant ##École : Collège Marie Victorin ##Session : Hiver 2026 ##Titre du cours : Introduction aux bases de données ##Titre du programme : Devoir #2 ##Version : 1.0 ##Date : 00/00/2026 ##Langage et version : SQL ##Moteur : SQL Server Express
-- ============================================================================== -- Les requêtes -- Base de donnéées : Ecole -- Groupe 00001
-- ============================================================================== Affichez le nom, le prénom, le titre du cours et la note des étudiants ayant obtenu une note supérieure ou égale à 3.50. Triez le résultat par note décroissante, puis par nom. ****************************************************************************/ -- Votre code ici USE Ecole; GO SELECT p.Nom, p.Prenom, c.Titre, ne.Note FROM dbo.tblNoteEtudiant ne JOIN dbo.tblPersonne p ON ne.IDEtudiant = p.IDPersonne JOIN dbo.tblCours c ON ne.IDCours = c.IDCours WHERE ne.Note IS NOT NULL AND ne.Note >= 3.50 ORDER BY ne.Note DESC, p.Nom, p.Prenom;
-- ============================================================================== Affichez, pour chaque département qui offre au moins 2 cours, le nom du département, le nombre de cours et la moyenne des crédits. Trier par nom de cours decroissant puis par nom. *****************************************************************************************/ -- # Votre code ici SELECT d.Nom AS Departement, COUNT(c.IDCours) AS NombreCours, AVG(c.Credits * 1.0) AS MoyenneCredits FROM dbo.tblDepartement d JOIN dbo.tblCours c ON d.IDDepartement = c.IDDepartement GROUP BY d.Nom HAVING COUNT(c.IDCours) >= 2 ORDER BY NombreCours DESC, d.Nom;
-- ============================================================================== -- # Votre code ici SELECT p.Nom, p.Prenom, c.Titre, ne.Note FROM dbo.tblNoteEtudiant ne JOIN dbo.tblPersonne p ON ne.IDEtudiant = p.IDPersonne JOIN dbo.tblCours c ON ne.IDCours = c.IDCours WHERE ne.Note IS NOT NULL AND ne.Note > ( SELECT AVG(ne2.Note * 1.0) FROM dbo.tblNoteEtudiant ne2 WHERE ne2.IDCours = ne.IDCours AND ne2.Note IS NOT NULL ) ORDER BY c.Titre, ne.Note DESC, p.Nom, p.Prenom;
-- ============================================================================== -- Les requêtes -- Base de donnéées : Ecole -- Groupe 00002
-- ============================================================================== Affichez le titre du cours, le nom du département, l’emplacement, les jours et l’heure des cours présentiels : donnés dans un local contenant Smith et ayant lieu avant 12:00 ****************************************************************************/ -- Votre code ici SELECT c.Titre, d.Nom AS Departement, cp.Emplacement, cp.Jours, cp.Heure FROM dbo.tblCoursPresentiel cp JOIN dbo.tblCours c ON cp.IDCours = c.IDCours JOIN dbo.tblDepartement d ON c.IDDepartement = d.IDDepartement WHERE cp.Emplacement LIKE '%Smith%' AND --CONVERT(time, cp.Heure) < '12:00:00' cp.Heure < '1900-01-01 12:00:00' ORDER BY cp.Heure, c.Titre;
-- ============================================================================== Affichez les cours ayant au moins 3 inscriptions. Pour chacun, affichez : le titre du cours le nombre d’inscriptions la moyenne des notes (en ignorant les notes nulles) *****************************************************************************************/ -- # Votre code ici SELECT c.Titre, COUNT(ne.IDInscription) AS NombreInscriptions, AVG(ne.Note * 1.0) AS MoyenneNotes FROM dbo.tblCours c JOIN dbo.tblNoteEtudiant ne ON c.IDCours = ne.IDCours GROUP BY c.IDCours, c.Titre HAVING COUNT(ne.IDInscription) >= 3 ORDER BY NombreInscriptions DESC, c.Titre;
-- ============================================================================== Affichez les cours dont le nombre de crédits est supérieur à la moyenne des crédits de leur département. Affichez le nom du département, le titre du cours et le nombre de crédits. *****************************************************************************************/ -- # Votre code ici SELECT d.Nom AS Departement, c.Titre, c.Credits FROM dbo.tblCours c JOIN dbo.tblDepartement d ON c.IDDepartement = d.IDDepartement WHERE c.Credits > ( SELECT AVG(c2.Credits * 1.0) FROM dbo.tblCours c2 WHERE c2.IDDepartement = c.IDDepartement ) ORDER BY d.Nom, c.Credits DESC, c.Titre;
-- ============================================================================== -- Les requêtes -- Base de donnéées : Ecole -- Groupe 00003
-- ============================================================================== Affichez le nom du département, le budget, ainsi que le nom et prénom de l’administrateur pour les départements : dont le budget est supérieur ou égal à 200000 et dont la date de début est le 2007-09-01 ****************************************************************************/ -- Votre code ici SELECT d.Nom AS Departement, d.Budget, p.Nom, p.Prenom FROM dbo.tblDepartement d JOIN dbo.tblPersonne p ON d.IDAdministrateur = p.IDPersonne WHERE d.Budget > 20000 AND d.IDAdministrateur in (4,2) ORDER BY d.Budget DESC;
-- ============================================================================== Affichez les étudiants ayant obtenu au moins 2 notes non nulles. Pour chacun, affichez : le nom le prénom le nombre de notes la moyenne des notes *****************************************************************************************/ -- # Votre code ici SELECT p.Nom, p.Prenom, COUNT(ne.Note) AS NombreNotes, AVG(ne.Note * 1.0) AS MoyenneNotes FROM dbo.tblPersonne p JOIN dbo.tblNoteEtudiant ne ON p.IDPersonne = ne.IDEtudiant WHERE ne.Note IS NOT NULL GROUP BY /*p.IDPersonne,*/ p.Nom, p.Prenom HAVING COUNT(ne.Note) >= 2 ORDER BY p.Nom desc
-- ============================================================================== Affichez les départements dont le nombre de cours est supérieur à la moyenne du nombre de cours par département. Affichez le nom du département et le nombre de cours. *****************************************************************************************/ -- # Votre code ici SELECT d.Nom AS Departement, COUNT(c.IDCours) AS NombreCours FROM dbo.tblDepartement d JOIN dbo.tblCours c ON d.IDDepartement = c.IDDepartement GROUP BY d.Nom HAVING COUNT(c.IDCours) > ( SELECT AVG(CAST(x.NbCours AS decimal(10,2))) FROM ( SELECT COUNT(*) AS NbCours FROM dbo.tblCours GROUP BY IDDepartement ) AS x ) ORDER BY NombreCours DESC, d.Nom;
W3schools
Python.org