9- Donnez les noms des fournisseurs qui approvisionnent une usine de Paris ou de Créteil en produit rouge
SELECT NomF FROM PUF, P, F, U WHERE Couleur=‘Rouge’ AND PUF.Np=P.Np AND PUF.Nf=F.Nf AND PUF.Nu=U.Nu AND (U.Ville IN (‘Paris’,’Créteil’) Ou bien SELECT NomF FROM F WHERE Nf IN (SELECT Nf FROM PUF WHERE Np IN (SELECT Np FROM P WHERE Couleur=‘Rouge’) AND Nu IN (SELECT Nu FROM U WHERE Ville IN (‘Paris’, ‘Créteil’))
10- Donnez les numéros des produits livrés à une usine par une fournisseur de la même ville
SELECT DISTINCT Np FROM PUF, F, U WHERE PUF.Nf=F.Nf AND PUF.Nu=U.Nu AND U.Ville=F.Ville
11- Donnez les numéros des produits livrés à une usine de Paris par un fournisseur de Paris
SELECT DISTINCT Np FROM PUF, F, U WHERE PUF.Nf=F.Nf AND PUF.Nu=U.Nu AND U.Ville=F.Ville AND U.Ville=‘Paris’ Ou bien SELECT DISTINCT Np FROM PUF WHERE Nf IN (SELECT Nf FROM F WHERE Ville=‘Paris’) AND Nu IN (SELECT Nu FROM U WHERE Ville=‘Paris’)
12- Donnez les numéros des usines qui ont au moins un fournisseur qui n’est pas de la même ville
SELECT DISTINCT PUF.Nu FROM PUF, F, U WHERE PUF.Nf=F.Nf AND PUF.Nu=U.Nu AND U.VilleF.ville Ou bien SELECT DISTINCT Nu FROM PUF WHERE Nf=ANY(SELECT Nf FROM F, U WHERE PUF.Nf=F.Nf AND PUF.Nu=U.Nu AND F.VilleU.Ville)
13- Donnez les numéros des fournisseurs qui approvisionnent à la fois des usines de numéros 2 et 3
SELECT DISTINCT First.Nf FROM PUF First, PUF Second WHERE First.Nf=Second.Nf AND First.Nu=1 AND Second.Nu=2 Ou bien SELECT DISTINCT Nf FROM PUF WHERE Nf IN (SELECT Nf FROM PUF WHERE Nu=1) AND Nu=2
14- Donnez les numéros des usines qui utilisent au moins un produit disponible chez le fournisseur de numéro 3 (c’est-à-dire un produit que le fournisseur livre mais pas nécessairement à cette usine)
SELECT DISTINCT Nu FROM PUF WHERE Np IN (SELECT Np FROM PUF WHERE Nf=3)
15- Donnez le numéro du produit le plus léger (les numéros si plusieurs produits ont ce même poids)
SELECT Np FROM P WHERE Poids IN (SELECT MIN(Poids) FROM P) Ou bien SELECT Np FROM P p1 WHERE NOT EXISTS (SELECT * FROM P WHERE P1.Poids>Poids)
16- Donnez le numéro des usines qui ne reçoivent aucun produit rouge d’un fournisseur parisien
SELECT Nu FROM U WHERE Nu NOT IN (SELECT Nu FROM PUF, F, P WHERE PUF.Np=P.Np AND PUF.Nf=F.Nf AND Couleur=‘Rouge’ AND Ville=‘Paris’)