Académique Documents
Professionnel Documents
Culture Documents
3) Donner les numéros des fournisseurs qui approvisionnent l'usine n°1 en produit n°1.
select CodeF from PUF where CodeU = 1 and CodeP = 1 ;
5) Donner les numéros des fournisseurs qui approvisionnent l'usine n°1 en un produit
rouge.
select distinct CodeF
from PUF, Produit P
where P.Couleur = ’Rouge’ and PUF.CodeU = 1 and PUF.CodeP = P.CodeP ;
6) Donner les noms des fournisseurs qui approvisionnent une usine de Bizerte ou de
Tunis en un produit rouge.
select distinct NomF
from PUF, Produit P, Fournisseur F, Usine U
where P.Couleur = ’Rouge’ and PUF.CodeP = P.CodeP
and PUF.CodeF = F.CodeF and PUF.CodeU = U.CodeU
and U.Ville in ('Tunis' , 'Bizerte');
Remarque : On peut utiliser cette instruction : U.Ville = ’Tunis’ or U.Ville = ’Bizerte’
7) Donner les numéros des produits livrés à une usine par un fournisseur de la même
ville.
select distinct CodeP
from PUF, Fournisseur F, Usine U
where PUF.CodeF = F.CodeF and PUF.CodeU = U.CodeU and U.Ville = F.Ville ;
8) Donner les numéros des produits livrés à une usine de Bizerte par un fournisseur de
Bizerte.
select distinct CodeP
from PUF, Fournisseur F, Usine U
where PUF.CodeF = F.CodeF and PUF.CodeU = U.CodeU
and F.Ville = ’Bizerte’ and U.Ville = ’Bizerte’;
9) Donner les numéros des usines qui ont au moins un fournisseur qui n'est pas de la
même ville.
select distinct PUF.CodeU
from PUF, Fournisseur F, Usine U
where PUF.CodeF = F.CodeF and PUF.CodeU = U.CodeU and U.Ville <> F.Ville ;
10)Donner les numéros des fournisseurs qui approvisionnent à la fois les usines n°1 et
n°2.
a)
select distinct first.CodeF
from PUF first, PUF second
where first.CodeF = second.CodeF and first.CodeU = 1 and second.CodeU = 2
b)
select distinct CodeF
from PUF
where CodeU = 2
and CodeF in (select CodeF from PUF where CodeU = 1)
11) Donner les numéros des usines qui utilisent au moins un produit disponible chez le
fournisseur n°3.
select distinct CodeU from PUF
where CodeP in( select CodeP from PUF where CodeF = 3 );
12) Donner le numéro du produit le plus léger (les numéros si plusieurs produits ont ce
même poids).
Select CodeP from Produit where Poids in (select min(Poids) as t from Produit)
13) Donner les numéros des usines qui ne reçoivent aucun produit rouge d'un fournisseur
de Bizerte.
select CodeU from Usine U
where CodeU not in(select CodeU from PUF, Produit P, Fournisseur F where
PUF.CodeP = P.CodeP and PUF.CodeF = F.CodeF and Couleur = ’Rouge’ and Ville =
’Bizerte’ );
14)Donner les numéros des produits qui sont livrés à toutes les usines de Bizerte.
select distinct P.CodeP from Produit P, PUF, Usine U
where P.CodeP = PUF.CodeP and PUF.CodeU = U.CodeU and U.Ville = ’Bizerte’
group by P.CodeP
having count(distinct PUF.CodeU)=
(select count(CodeU) from Usine where Ville = ’Bizerte’);
15) Donner les numéros des usines qui s'approvisionnent uniquement chez le fournisseur
n°3.
select CodeU
from Usine
where CodeU not in (select CodeU from PUF where CodeF <> 3)
17)Pour chaque produit livré à une usine, donner le numéro du produit, celui de l'usine et
la quantité totale qui a été livrée.
select CodeP, CodeU, sum(Quantite)
from PUF
group by CodeP, CodeU;
18)
Supprimer tous les produits de couleur noire et de numéro compris entre 100 et 199.
Delete from Produit where CodeP >= 100 and CodeP <= 199 and couleur = ’Noir’;
Delete from Produit where CodeP between 100 and 200 and couleur = 'Noir';