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 ?
2. Quels sont les fournisseurs (N°, société, contact et adresse) situés
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
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.
5. Donner pour chaque catégorie, les fournisseurs correspondant aux
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
produits les moins chers avec les coordonnées du fournisseur, la
référence, le nom et le prix du produit.
6. Quel la moyenne des frais de port des commandes de 2001
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
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.
Partager