[SQL] Aide pour mes requêtes
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:
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:
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:
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:
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:
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 :D.