Exercice récapitulatif en Langage SQL (Créer des requêtes)

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.

SELECT Nometu, E.Numetu, Cdsexe
FROM ETUDIANT E, NOTES N, MATIERE M
WHERE E.Numetu=N.Numetu
AND N.Numat=M.Numat
AND 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);

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).

 
SELECT E1.Nometu,E2.Nometu
FROM ETUDIANT E1, ETUDIANT E2
WHERE E1.CdSexe='H'
AND E2.CdSexe='F'
AND DATEDIFF(E1.Dtnaiss,E2.Dtnaiss) BETWEEN -180 AND 180;

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.

 
SELECT E.Numetu, Nometu, Nomat
FROM ETUDIANT E
LEFT OUTER JOIN NOTES N
ON E.Numetu=N.Numetu
LEFT OUTER JOIN Matiere M
ON N.Numat=M.Numat OR N.Numat IS NULL
WHERE Note IS NULL;

13. Afficher, les matières pour lesquelles la moyenne des notes est inférieure à 10. Afficher le nom de l’enseignant correspondant.

 
SELECT Nomens, Nomat, Avg(note)
FROM ENSEIGNANT E, MATIERE M, NOTES N
WHERE E.Numens=M.Numens
AND M.Numat=N.Numat
GROUP BY Nomens, Nomat
HAVING Avg(note)< 10;

14. Afficher, pour chaque matière, qu’elle est la meilleure note et quel est l’étudiant qui l’a obtenue.

 
SELECT Nomat, Nometu, Note
FROM MATIERE M, NOTES N, ETUDIANT E
WHERE N.Numat=M.Numat
AND E.Numetu=N.Numetu
AND Note=(SELECT Max(Note) FROM NOTES E1
          WHERE E1.Numat=M.Numat);

15. Afficher, pour chaque sexe (Homme, Femme) la moyenne des notes dans la matière enseignée par Julie Boyer.

 
SELECT Nomat, Nometu, Note
FROM MATIERE M, NOTES N, ETUDIANT E
WHERE N.Numat=M.Numat
AND E.Numetu=N.Numetu
AND Note=(SELECT Max(Note) FROM NOTES E1
          WHERE E1.Numat=M.Numat);

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *