TME 6: Requêtes Imbriquées avec Exists, All et Any
On considère le schéma de la base Jeux Olympiques 2014 :
- Pays (codePays, nomP)
- Sport (sid, nomSp)
- Epreuve (epid, sid*, nomEp, catégorie, dateDebut, dateFin)
- Athlete (aid, nomAth, prenomAth, dateNaissance, codePays*)
- Equipe (eqid, codePays*)
- AthletesEquipe (eqid*, aid*)
- RangIndividuel (epid*, aid*, rang)
- RangEquipe (epid*, eqid*, rang)
Une représentation graphique du schéma pour la BD JO_v2 se trouve ici.
Travail à effectuer:
- Connectez-vous au serveur Oracle (rappel: Connexion oracle)
- Charger la base de données JO_v2 en exécutant:
@vider @jo_v2
Exercice 1: Reprendre et finir les exercices du TD6.
Exercice 2:
Exprimez les requêtes suivantes en SQL sur la base de données Jeux Olympiques 2014:
- 1. Les sports dont toutes les épreuves ont duré un seul jour.
Résultat attendu: Ski de fond, Ski alpin, Biathlon
- 2. Les sports qui n'ont pas d'épreuves de categorie Mixte.
Résultat attendu: (12 lignes)
- 3. Les équipes dont aucun athlète n'a gagné de médaille aux épreuves individuelles. Attention : il y a des équipes sans athlètes.
Résultat attendu: (265 lignes avec les équipes sans athlètes - 252 lignes sans les équipes sans athlètes)
- 4. La nationalité de l'athlète le/la plus jeune. Attention : il y a des athlètes dont on ne connaît pas la date de naissance.
Résultat attendu: ('29/11/1998','JPN')
- 5. Le plus jeune athlète de chaque pays.
Résultat attendu: (26 lignes)
Exercice 3: On considère le schéma « Foofle » (la table des distances s'appelle Dist, la table des équipes s'appelle ÉquipeF):
- Sponsorise(NSp, NJo, Somme)
- Joueur(NJo, Eq, Taille, Age)
- EquipeF(NEq, Ville, Couleur, StP)
- Match(Eq1, Eq2, DateM, St)
- Dist(St1, St2, NbKm)
Charger la base de données Foofle en exécutant:
@vider @foofle
Exprimez les requêtes suivantes de plusieurs manières, en utilisant des jointures, ainsi que les opérateurs EXISTS, ANY, ALL:
- 6. Quelles équipes ont déjà joué au stade préféré de l'équipe des Piepla ?
Résultat attendu : (2 lignes) Direkt , Piepla
- 7. Quels sont les stades où a déjà joué Manon Messi ?
Résultat attendu: (3 lignes) GrandArena, Boulodrome, BukHall
- 8. A quelle date a eu lieu un match entre deux équipes sponsorisées par le même sponsor?
Résultat attendu :(4 lignes) 2015-05-16, 2015-05-15, 2015-06-15, 2015-05-12
- 9. Quels sponsors ont financé deux joueurs différents ayant eu un match le même jour et dans des stades différents mais proches (moins de 50 km) ?
Résultat attendu :(4 lignes) Air Monaco, Carouf, Robek, Adadis