Professional Documents
Culture Documents
1. Sélection et projection.
f. Les matricules et nom des coureurs dont le nom commence par ‘A’
h. Les temps réalisés et les numéros de dossard pour l’étape 1, ordonnés par
ordre décroissant sur le temps réalisé.
SELECT `num_dossart`,`temps_realise`
FROM `temps`
WHERE `num_etape`=1
ORDER BY `temps_realise` DESC
Informatique générale - 2eme semestre - Spécialité AGRAL3/MTX3
1. Jointures
SELECT directeur
FROM coureur, equipe
WHERE coureur.`code_equipe`=equipe.`code`
AND coureur.`num_dossart`=7
b. Le nom des l’équipe, le nom des coureurs et le temps réalisé pour l’étape 1.
c. Le nom des équipes et le nom des coureurs qui ont terminé l’étape 1 en moins
de 1h30.
2. Fonctions SQL
SELECT temps.`num_dossart`,
kms/(time_to_sec(temps.`temps_realise`))*3600 AS 'vitesse'
FROM temps, etape
WHERE temps.`num_etape`=etape.num
AND etape.num=1
SELECT temps.`num_dossart`,
kms/(time_to_sec(temps.`temps_realise`))*3600 AS vitesse
FROM temps, etape
WHERE temps.`num_etape`=etape.num
Informatique générale - 2eme semestre - Spécialité AGRAL3/MTX3
AND etape.num=1
ORDER BY vitesse
SELECT `ville_depart`
FROM etape
WHERE week(curdate()) = week(`date_etape`)
SELECT e1.`num`
FROM etape e1, etape e2
WHERE e1.`ville_depart` = e2.`ville_arrivee`
AND DATE_SUB(e1.`date_etape`, interval 1 day) = e2.`date_etape`
g. Les temps réalisés de chaque coureur sur les étapes d'aujourd'hui, trié par
numéros d'étape puis par temps réalisés
h. Les couples de coureurs avec leur temps respectif sur l'étape 1, qui ont un
écart de temps de moins de 30s
SELECT client.`nom`
FROM client, commande
WHERE client.`nclt`=commande.`nclt`
AND commande.`nprod`=3
9. Les dates des commandes au format "MM, DD YYYY" de chaque produit avec une
chaine qui contient le nom, l'age en mois (arrondi au plus proche) et l'adresse du client,
10. Les produits ayant été commandés la veille d'une commande passée par un client dont le
nom commence par 'du'.
SELECT c1.`nclt`
FROM commande c1, commande c2, client
WHERE c2.`nclt` = client.`nclt`
AND lower(client.nom) LIKE 'du%'
AND DATE_ADD(c1.`date_cmd`, interval 1 day) = c2.`date_cmd`