Correction de l’exercice n°1
1 – Donner la liste des titres des représentations.
SELECT titre_représentation FROM REPRESENTATION ;
2 – Donner la liste des titres des représentations ayant lieu à l’opéra Bastille.
SELECT titre_représentation FROM REPRESENTATION WHERE lieu="Opéra Bastille" ;
3 – Donner la liste des noms des musiciens et des titres des représentations auxquelles ils participent.
SELECT nom, titre_représentation FROM MUSICIEN, REPRESENTATION WHERE MUSICIEN.n°représentation = REPRESENTATION.n°représentation ;
4 – Donner la liste des titres des représentations, les lieux et les tarifs pour la journée du 14/09/96.
SELECT titre_représentation, lieu, tarif FROM REPRESENTATION, PROGRAMMER WHERE PROGRAMMER.n°représentation = REPRESENTATION.n°représentation AND date='14/06/96' ;
Correction de l’exercice n°2
1 – Quelle est la composition de l’équipe FESTINA (Numéro, nom et pays des coureurs) ?
SELECT NuméroCoureur, NomCoureur, NomPays FROM EQUIPE A, COUREUR B, PAYS C WHERE A.CodeEquipe=B.CodeEquipe And B.CodePays=C.CodePays And NomEquipe="FESTINA" ;
2 – Quel est le nombre de kilomètres total du Tour de France 97 ?
SELECT SUM(Nbkm) FROM ETAPE ;
3 – Quel est le nombre de kilomètres total des étapes de type HAUTE MONTAGNE ?
SELECT SUM(Nbkm) FROM ETAPE A, TYPE_ETAPE B WHERE A.CodeType=B.CodeType And LibelléType="HAUTE MONTAGNE" ;
4 – Quels sont les noms des coureurs qui n’ont pas obtenu de bonifications ?
SELECT NomCoureur FROM COUREUR WHERE NuméroCoureur NOT IN (SELECT NuméroCoureur FROM ATTRIBUER_BONIFICATION) ;
5 – Quels sont les noms des coureurs qui ont participé à toutes les étapes ?
SELECT NomCoureur FROM PARTICIPER A, COUREUR B WHERE A.NuméroCoureur=B.NuméroCoureur GROUP BY NuméroCoureur, NomCoureur HAVING COUNT(*)=(SELECT COUNT(*) FROM ETAPE) ;
SELECT NomCoureur, CodeEquipe, CodePays, SUM(TempsRéalisé) AS Total FROM PARTICIPER A, COUREUR B WHERE A.NuméroCoureur=B.NuméroCoureur and NuméroEtape<=13 GROUP BY A.NuméroCoureur, NomCoureur, CodeEquipe, CodePays ORDER BY Total;
SELECT NomEquipe, SUM(TempsRéalisé) AS Total FROM PARTICIPER A, COUREUR B, EQUIPE C WHERE A.NuméroCoureur=B.NuméroCoureur And B.CodeEquipe=C.CodeEquipe And NuméroEtape<=13 GROUP BY B.CodeEquipe, NomEquipe ORDER BY Total;