Bonjour à tous,

Je suis actuellement en DUT Info 1ère année et la prof nous a demandé de préparer des requêtes SQL (8) en vue du DST.
J'en ai déjà rédigées 5 mais je souhaiterais avoir vos retours car je pense avoir fait des erreurs .

Voici d'abord la base sous Access :
http://img36.imageshack.us/img36/8029/sqlj.png

Et mes requêtes :

1. Quels sont les produits (N°, nom, description et prix unitaire) de la
catégorie Boissons proposés par des fournisseurs français ou italiens ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
SELECT DISTINCT P.Refprod, P.Nomprod, P.PrixUnit
FROM Categorie C, Fournisseur F, Produit P
WHERE F.NoFour=P.NoFour AND C.CodeCateg=P.CodeCateg
AND C.NomCateg="Boissons" AND (F.Pays="France" OR F.Pays="Italie")
ORDER BY 1,2,3
2. Quels sont les fournisseurs (N°, société, contact et adresse) situés
dans le même pays et avec le même contact (fonction) que le
fournisseur de nom « Escargots Nouveaux» ? Afficher également les
catégories de produits qu’ils proposent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SELECT F.NoFour, F.Contact, F.Societe, F.Adresse, P.CodeCateg 
FROM Fournisseur F, Fournisseur C, Produit P
WHERE F.Societe="Escargots Nouveaux" AND F.Pays=C.Pays AND F.Contact=C.Contact AND F.NoFour=P.NoFour


3. Quels sont les fournisseurs (N°, société, contact) proposant des
produits qui n’ont pas été encore commandés ou qui sont
indisponibles.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
SELECT DISTINCT F.NoFour, F.Societe, F.Contact
FROM Fournisseur F, Produit P
WHERE F.NoFour=P.NoFour 
AND (P.UnitesStock=0 OR P.UnitesCom=0)
ORDER BY 1,2,3
5. Donner pour chaque catégorie, les fournisseurs correspondant aux
produits les moins chers avec les coordonnées du fournisseur, la
référence, le nom et le prix du produit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT F.Adresse, F.Ville, F.Region, F.CodePostal, F.Pays, F.Tel, P.Refprod, P.Nomprod, P.PrixUnit
FROM Fournisseur F, Produit P, Categorie C,(SELECT CodeCateg, Min(PrixUnit) AS MinPrix FROM Produit GROUP BY CodeCateg)
WHERE C.CodeCateg=P.CodeCateg AND P.NoFour=F.NoFour
ORDER BY 9,8,7,1,2,3,4,5,6
6. Quel la moyenne des frais de port des commandes de 2001
concernant un client italien et un fournisseur allemand ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT Avg(O.Port) AS MoyFDP 
FROM Commande O , Fournisseur F, Client C, DetailCommande D, Produit P,
(SELECT CodeCli FROM Commande O WHERE YEAR(DateCom)=2001) 
WHERE C.CodeCli=O.CodeCli AND O.NoCom=D.Nocom AND D.Refprod=P.Refprod AND P.NoFour=F.NoFour AND (F.Pays="Allemagne" AND C.Pays="Italie")



Merci d'avance à tous .