Exercice SQL corrigé les requêtes avec langage SQL

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