CREATE TABLE usine (
nu INT CONSTRAINT pk_usine PRIMARY KEY,
nomu VARCHAR(30),
ville VARCHAR(30)
);
CREATE TABLE produit (
np INT CONSTRAINT pk_produit PRIMARY KEY,
nomp VARCHAR(30),
couleur VARCHAR(30),
poids REAL
);
CREATE TABLE fournisseur (
nf int CONSTRAINT pk_fournisseur PRIMARY KEY ,
nomf varchar(30),
statut varchar(30),
ville varchar(30),
email varchar(50)
);
CREATE TABLE livraison (
np INT,
nu INT,
nf INT,
quantite INT,
CONSTRAINT fk_produit FOREIGN KEY (np) REFERENCES produit(np),
CONSTRAINT fk_usine FOREIGN KEY (nu) REFERENCES usine(nu),
CONSTRAINT fk_fournisseur FOREIGN KEY (nf) REFERENCES fournisseur(nf)
);
insert into usine (nu,nomu,ville) values (1,'Citroen','Paris');
insert into usine (nu,nomu,ville) values (2,'Peugeot','Sochaux');
insert into usine (nu,nomu,ville) values (3,'Citroen','Sochaux');
insert into usine (nu,nomu,ville) values (4,'Renault','Paris');
insert into usine (nu,nomu,ville) values (5,'Toyota','Lyon');
select * from usine;
insert into produit (np,nomp,couleur,poids) values (1,'Plaquette','Noir','0,257');
insert into produit (np,nomp,couleur,poids) values (2,'Siége','Rouge','15,230');
insert into produit (np,nomp,couleur,poids) values (3,'Siége','Vert','15,230');
insert into produit (np,nomp,couleur,poids) values (4,'Pare-brise','','11,900');
insert into produit (np,nomp,couleur,poids) values
(5,'Rétroviseur','Vert','1,020');
select * from produit;
insert into fournisseur (nf,nomf,statut,ville,email) values
(1,'Monroe','Producteur','Lyon','monroe@[Link]');
insert into fournisseur (nf,nomf,statut,ville,email) values (2,'Au bon
siége','Sous-taitant','Limoges','au_bon_siege@[Link]');
insert into fournisseur (nf,nomf,statut,ville,email) values (3,'Saint
Gobain','Producteur','Paris','saint_golbain@[Link]');
select * from fournisseur;
insert into livraison (np,nu,nf,quantite) values (3,1,2,60);
insert into livraison (np,nu,nf,quantite) values (1,2,3,2500);
insert into livraison (np,nu,nf,quantite) values (1,3,3,3000);
insert into livraison (np,nu,nf,quantite) values (2,2,3,120);
insert into livraison (np,nu,nf,quantite) values (3,1,1,49);
insert into livraison (np,nu,nf,quantite) values (3,2,1,45);
insert into livraison (np,nu,nf,quantite) values (3,3,1,78);
insert into livraison (np,nu,nf,quantite) values (2,4,2,52);
insert into livraison (np,nu,nf,quantite) values (2,1,1,250);
1/ SELECT nu,nomu,ville from usine;
2/ SELECT nu, nomu
FROM usine
WHERE ville = 'Sochaux';
3/ SELECT nf
FROM livraison
WHERE nu =1 AND np=3;
4/ SELECT np, nomp
FROM produit
WHERE couleur IS NULL;
5/ SELECT DISTINCT nomu
FROM usine
ORDER BY nomu ASC;
6/ SELECT nu
FROM usine
WHERE nomu LIKE 'C%' ;
7/ SELECT np
FROM produit
WHERE UPPER(nomp) LIKE '%S%' OR LOWER(nomp) LIKE '%s%';
8/ SELECT [Link]
FROM fournisseur f, livraison l
WHERE [Link] = 1 AND [Link] = 3 AND [Link] = [Link];
9/ SELECT [Link] , [Link]
FROM produit p, livraison l
WHERE [Link] = 2 AND [Link] = [Link];
10/ SELECT [Link]
FROM fournisseur f, livraison l , produit p
WHERE [Link] = 1 AND [Link] = 'Rouge' and [Link] = [Link] AND [Link] = [Link];
11/ SELECT [Link] AS NUsine, COALESCE(SUM([Link]), 0) AS QuantiteTotale
FROM usine u
LEFT JOIN livraison l ON [Link] = [Link]
GROUP BY [Link];
LEFT JOIN pour inclure toutes les lignes de la table "usine"
COALESCE(SUM([Link]), 0) remplacer les valeurs NULL par 0.
12/ SELECT [Link]
FROM fournisseur f
JOIN livraison l ON [Link] = [Link]
JOIN produit p ON [Link] = [Link]
WHERE [Link] = 'Rouge';
13/ DELETE FROM produit
WHERE couleur = 'Noir' AND np BETWEEN 1 AND 3;
14/ UPDATE fournisseur
SET ville = 'Lyon'
WHERE nf = 4;