Bonjour à tous ;

J'aurais voulu avoir svp votre aide afin de construire quelques requêtes sql car étant débutant dans ce domaine je me heurte à des petites difficultés. Ce qui m'intéresse particulièrement, ce sont les explications ; un bref commentaire sur une requête que vous me proposerez sera bien plus efficace que la requête présentée seule, c'est ce qui va m'aider à faire le déclic.
Je vous remercie d'avance pour votre aide. Je vous présente un extrait d'un modèle relationnel :

PILOTE (idPilote, nom, prenom, dateDeNaissance, idPays)
idPilote : clé primaire
idPays : clé etrangère en réf à idPays de Pays

COURSE (dateCourse, idPays)
dateCourse : clé primaire

CLASSEMENT (idPilote, dateCourse, positionDep, positionArr)
idPilote, dateCourse :clés primaires
idPilote : clé etrangère en ref à idPilote de Pilote
dateCourse : clé etrangère en réf à dateCourse deCourse

ECURIE (idEcurie, nomEcurie, dateCreation)
idEcurie : clé primaire

Voilà, à partir de là, il nous est proposé de donner la liste des pilotes qui ont plus de 3 courses non terminées en 2010 en affichant également le nombre de ces courses. (à savoir qu'une course non terminée est caractérisée par une absence de valeur saisie dans positionArr)

Je vous mets la requête que j'ai "pondue"

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
SELECT nom, prenom, positionArr
FROM pilote NATURAL JOIN classement
WHERE SELECT (positionArr IS NULL
                      FROM classement
                      ) > 3
Je suis certain qu'elle est maladroite, si vous pouvez me l'arranger svp...

Et pour finir, une autre requête assez complexe je pense, si vous pouvez m'aiguiller ça m'avancerait bien svp... alors, il est demandé de donner l'écurie qui a le plus de victoires à son palmarès (nom & nombre). Comment procéderiez-vous par ex ?