Exercice récapitulatif en Langage SQL (Suite...)
Objectif :
Créer des requêtes en SQL
Travail à faire:
ETUDIANT (Numetu, Nometu, Dtnaiss, Cdsexe)
SEXE (Cdsexe, Lbsexe)
ENSEIGNANT (Numens, Nomens, Grade, Ancien)
MATIERE (Numat, Nomat, Coeff, Numens)
NOTES (Numetu, Numat, Note)
À partir de la Base de données ETUDIANTS ci dessus, écrire les requêtes SQL permettant de répondre aux questions suivantes.
10. Afficher le nom, le numéro et le sexe des étudiants qui ont une note en informatique supérieure à leur note de Mathématiques.
11. Afficher le nom des couples, nom du garçon nom de la fille, dont la différence d'âge ne dépasse pas 6 mois (180 jours).
12. Pour les étudiants n'ayant pas de note dans une matière, afficher le numéro le nom de l'étudiant et le nom de la matière concernée.
13. Afficher, les matières pour lesquelles la moyenne des notes est inférieure à 10. Afficher le nom de l'enseignant correspondant.
14. Afficher, pour chaque matière, qu'elle est la meilleure note et quel est l'étudiant qui l'a obtenue.
15. Afficher, pour chaque sexe (Homme, Femme) la moyenne des notes dans la matière enseignée par Julie Boyer.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | Requête 10:SELECT Nometu, E.Numetu, CdsexeFROM ETUDIANT E, NOTES N, MATIERE MWHERE E.Numetu=N.NumetuAND N.Numat=M.NumatAND Nomat='Informatique'AND Note > ALL (SELECT Note FROM NOTES N, MATIERE M WHERE N.Numat=M.Numat AND Nomat='Mathématiques' AND N.Numetu=E.Numetu);Requête 11:SELECT E1.Nometu,E2.NometuFROM ETUDIANT E1, ETUDIANT E2WHERE E1.CdSexe='H'AND E2.CdSexe='F'AND DATEDIFF(E1.Dtnaiss,E2.Dtnaiss) BETWEEN -180 AND 180;Requête 12:SELECT E.Numetu, Nometu, NomatFROM ETUDIANT ELEFT OUTER JOIN NOTES NON E.Numetu=N.NumetuLEFT OUTER JOIN Matiere MON N.Numat=M.Numat OR N.Numat IS NULLWHERE Note IS NULL;Requête 13:SELECT Nomens, Nomat, Avg(note)FROM ENSEIGNANT E, MATIERE M, NOTES NWHERE E.Numens=M.NumensAND M.Numat=N.NumatGROUP BY Nomens, NomatHAVING Avg(note) 10;Requête 14:SELECT Nomat, Nometu, NoteFROM MATIERE M, NOTES N, ETUDIANT EWHERE N.Numat=M.NumatAND E.Numetu=N.NumetuAND Note=(SELECT Max(Note) FROM NOTES E1 WHERE E1.Numat=M.Numat);Requête 15:SELECT Nomat, Nometu, NoteFROM MATIERE M, NOTES N, ETUDIANT EWHERE N.Numat=M.NumatAND E.Numetu=N.NumetuAND Note=(SELECT Max(Note) FROM NOTES E1 WHERE E1.Numat=M.Numat); |