Exercice corrigé requête SQL (Tour de France)

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

6 – Quel est le classement général des coureurs (nom, code équipe, code pays et temps des coureurs) à l’issue des 13 premières étapes sachant que les bonifications ont été intégrées dans les temps réalisés à chaque étape ? 

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;

7 – Quel est le classement par équipe à l’issue des 13 premières étapes (nom et temps des équipes) ?

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;

Télécharger aussi :

Laisser un commentaire

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