La solution d'Exercice SQL Corrigé : gestion simplifiée des étapes du Tour de France 97



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