29 Nov2015
Les requêtes SELECT - Base de données ETUDIANTS
Objectif: Écrire des requêtes SELECT comportant la projection, le filtrage et le regroupement des données.
Soit le schéma relationnel suivant:
Travail à faire:
Écrire les requêtes suivantes en SQL :
- Afficher la liste des étudiants triés par ordre croissant de date de naissance.
- Afficher tous les étudiants inscrits à M1 et tous les étudiants inscrits à M2.
- Afficher les matricules des étudiants qui ont passé l'examen du cours 002.
- Afficher les matricules de tous les étudiants qui ont passé l'examen du cours 001 et de tous les étudiants qui ont passé l'examen du cours 002.
- Afficher le matricule, code, note /20 et note /40 de tous les examens classés par ordre croissant de matricule et de code.
- Trouver la moyenne de notes de cours 002.
- Compter les examens passés par un étudiant (exemple avec matricule 'e1')
- Compter le nombre d'étudiants qui ont passé l'examen du cours 002.
- Calculer la moyenne des notes d'un étudiant (exemple avec matricule 'e1').
- Compter les examens passés par chaque étudiant.
- Calculer la moyenne des notes pour chaque étudiant.
- La même au dessus, mais afficher seulement les étudiants (et leurs moyennes) dont la moyenne est >= 15.
- Trouver la moyenne de notes de chaque cours.
//Auteur: CHAOULID
//Copyright: Exelib.net
use ETUDIANTS go --Q1 select * from Etudiant order by DateNaissance --Q2 select * from Etudiant where Niveau='M1' or Niveau='M2' --Q3 select Matricule from Examen where Code='002' --Q4 select Matricule from Examen where Code='001' or Code='002' --Q5 select Matricule,Code,Note as "Note sur 20",Note*2 as "Note sur 40" from Examen order by Matricule,Code --Q6 select AVG(Note) as "Moyenne de notes" from Examen where Code='002' --Q7 select COUNT(Code) as "Nombre d'examens" from Examen where Matricule='e1' --Q8 select COUNT(Matricule) as "Nombre d'étudiants" from Examen where Code='002' --Q9 select AVG(Note) as "Moyenne de notes" from Examen where Matricule='e1' --Q10 select Matricule,COUNT(Code) as "Nombre d'examens" from Examen group by Matricule --Q11 select Matricule,AVG(Note) as "Moyenne de notes" from Examen group by Matricule --Q12 select Matricule,AVG(Note) as "Moyenne de notes" from Examen group by Matricule having AVG(Note)>=15 --Q13 select Code,AVG(Note) as "Moyenne de notes" from Examen group by Code