Sie sind auf Seite 1von 12

TP 5 SQL LANGAGE LDD/LMD/LID

BASE DE DONNEES PROJET

USE master
if exists (select *
from master..sysdatabases
where name = 'PROJET')
drop database PROJET
GO
CREATE DATABASE PROJET
ON
( NAME = PROJET_dat,
FILENAME ='d:\MES TPs\PROJET.mdf',
SIZE = 20,
MAXSIZE = 30,
FILEGROWTH = 1)
LOG ON
( NAME = 'PROJET_log',
FILENAME = 'd:\MES TPs\PROJET.ldf',
SIZE = 10MB,
MAXSIZE = 12MB,
FILEGROWTH = 1MB )
GO
use PROJET

CREATE TABLE categories (


numcat int primary key,
libelle varchar(50) default NULL
) ;

INSERT INTO categories VALUES (1, 'Ordinateur de bureau');


INSERT INTO categories VALUES (2, 'ordinateur portable');
INSERT INTO categories VALUES (3, 'imprimante');
INSERT INTO categories VALUES (4, 'scanner');
INSERT INTO categories VALUES (5, 'processeur');
INSERT INTO categories VALUES (6, 'carte graphique');
INSERT INTO categories VALUES (7, 'carte son');
INSERT INTO categories VALUES (8, 'ecran');
INSERT INTO categories VALUES (9, 'péripherique');
INSERT INTO categories VALUES (10, 'connectique');
INSERT INTO categories VALUES (11, 'mémoire');

CREATE TABLE clients (


numcli int NOT NULL,
nom varchar(30) default NULL,
prenom varchar(30) default NULL,
ville varchar(30) default NULL,
PRIMARY KEY (numcli)
) ;

INSERT INTO clients VALUES (1, 'MOUGIN', 'PIERRE', 'DOUAI');


INSERT INTO clients VALUES (2, 'PIERRARD', 'ROGER', 'DOUAI');
INSERT INTO clients VALUES (3, 'TRENTA', 'ADELINE', 'TOURCOING');
INSERT INTO clients VALUES (4, 'MOSKOWITCH', 'MICHEL', 'MARCQ EN BAROEUL');
INSERT INTO clients VALUES (5, 'DELAPORTE', 'STEPHANE', 'LA MADELEINE');
INSERT INTO clients VALUES (6, 'AMBERT', 'SOPHIE', 'ARRAS');
INSERT INTO clients VALUES (7, 'ZATOPEK', 'ANDRE', 'LAMBERSART');
INSERT INTO clients VALUES (8, 'AYMARD', 'RENE', 'LILLE');
INSERT INTO clients VALUES (9, 'BENABAR', 'JEAN-PIERRE', 'ARRAS');
INSERT INTO clients VALUES (10, 'PERROCHON', 'MARC', 'ROUBAIX');
INSERT INTO clients VALUES (11, 'BONIFACE', 'JEAN', 'DOUAI');
INSERT INTO clients VALUES (12, 'MOUNIER', 'ANNE-MARIE', 'ARRAS');
INSERT INTO clients VALUES (13, 'PERCEVAL', 'GAEL', 'ROUBAIX');
INSERT INTO clients VALUES (14, 'SAUNIERE', 'CHARLES', 'DOUAI');
INSERT INTO clients VALUES (15, 'CAPITANO', 'ANGELO', 'TOURCOING');
INSERT INTO clients VALUES (16, 'BUGARACH', 'JEAN-MARC', 'LILLE');
INSERT INTO clients VALUES (17, 'VALMIGERE', 'PIERRE', 'MARCQ EN BAROEUL');
INSERT INTO clients VALUES (18, 'SOUBEYRAN', 'ANNE-SOPHIE', 'ARRAS');
INSERT INTO clients VALUES (19, 'DUPUIS', 'PIERRE-ANDRE', 'MARCQ EN
BAROEUL');
INSERT INTO clients VALUES (20, 'MARTIN', 'ANNE-SOPHIE', 'ROUBAIX');
INSERT INTO clients VALUES (21, 'BUFFIERE', 'PIERRE', 'LAMBERSART');
INSERT INTO clients VALUES (22, 'LECHAT', 'EMMANUEL', 'LA MADELEINE');
INSERT INTO clients VALUES (23, 'LACROIX', 'DANIEL', 'LILLE');
INSERT INTO clients VALUES (24, 'POIMULLE', 'JEAN-CLAUDE', 'HEM');
INSERT INTO clients VALUES (25, 'GOMBERT', 'MARCEL', 'ROUBAIX');
INSERT INTO clients VALUES (26, 'LABRICOLE', 'ADRIEN', 'LILLE');
INSERT INTO clients VALUES (27, 'DESSERPRIX', 'JEAN-PIERRE', 'LILLE');
INSERT INTO clients VALUES (28, 'JURANSSON', 'CATHERINE', 'MARCQ EN
BAROEUL');
INSERT INTO clients VALUES (29, 'KERMORAL', 'ANNE', 'LAMBERSART');
INSERT INTO clients VALUES (30, 'STUPP', 'KARL', 'LA MADELEINE');
INSERT INTO clients VALUES (31, 'GOEDEL', 'THEOPHILE', 'LILLE');
INSERT INTO clients VALUES (32, 'BRICOUT', 'JULES', 'ROUBAIX');

CREATE TABLE correspondance (


numvente int NOT NULL ,
numprod int NOT NULL ,
quantite int NOT NULL ,
PRIMARY KEY (numvente,numprod)
) ;

INSERT INTO correspondance VALUES (2, 1, 10);


INSERT INTO correspondance VALUES (2, 15, 5);
INSERT INTO correspondance VALUES (3, 5, 8);
INSERT INTO correspondance VALUES (3, 20, 4);
INSERT INTO correspondance VALUES (3, 47, 2);
INSERT INTO correspondance VALUES (3, 57, 4);
INSERT INTO correspondance VALUES (6, 5, 20);
INSERT INTO correspondance VALUES (6, 20, 15);
INSERT INTO correspondance VALUES (13, 58, 30);
INSERT INTO correspondance VALUES (18, 1, 20);
INSERT INTO correspondance VALUES (18, 59, 5);
INSERT INTO correspondance VALUES (18, 23, 2);
INSERT INTO correspondance VALUES (23, 2, 10);
INSERT INTO correspondance VALUES (23, 1, 20);
INSERT INTO correspondance VALUES (25, 5, 30);
INSERT INTO correspondance VALUES (26, 1, 50);
INSERT INTO correspondance VALUES (26, 13, 5);
INSERT INTO correspondance VALUES (26, 55, 10);
INSERT INTO correspondance VALUES (28, 55, 100);
INSERT INTO correspondance VALUES (31, 1, 20);
INSERT INTO correspondance VALUES (31, 55, 10);
INSERT INTO correspondance VALUES (33, 4, 10);
INSERT INTO correspondance VALUES (33, 55, 10);
INSERT INTO correspondance VALUES (35, 1, 15);
INSERT INTO correspondance VALUES (35, 22, 5);
INSERT INTO correspondance VALUES (35, 55, 10);
INSERT INTO correspondance VALUES (35, 23, 10);
INSERT INTO correspondance VALUES (35, 46, 2);
INSERT INTO correspondance VALUES (35, 54, 3);
INSERT INTO correspondance VALUES (35, 31, 2);
INSERT INTO correspondance VALUES (35, 41, 30);
INSERT INTO correspondance VALUES (35, 28, 5);
INSERT INTO correspondance VALUES (35, 51, 4);
INSERT INTO correspondance VALUES (35, 61, 4);
INSERT INTO correspondance VALUES (35, 68, 2);
INSERT INTO correspondance VALUES (1, 1, 1);
INSERT INTO correspondance VALUES (4, 2, 1);
INSERT INTO correspondance VALUES (5, 55, 1);
INSERT INTO correspondance VALUES (7, 1, 1);
INSERT INTO correspondance VALUES (7, 55, 1);
INSERT INTO correspondance VALUES (8, 46, 1);
INSERT INTO correspondance VALUES (9, 61, 1);
INSERT INTO correspondance VALUES (10, 42, 2);
INSERT INTO correspondance VALUES (11, 55, 1);
INSERT INTO correspondance VALUES (12, 3, 1);
INSERT INTO correspondance VALUES (14, 28, 1);
INSERT INTO correspondance VALUES (15, 28, 1);
INSERT INTO correspondance VALUES (16, 7, 1);
INSERT INTO correspondance VALUES (17, 51, 1);
INSERT INTO correspondance VALUES (19, 8, 1);
INSERT INTO correspondance VALUES (20, 12, 1);
INSERT INTO correspondance VALUES (21, 13, 1);
INSERT INTO correspondance VALUES (22, 9, 1);
INSERT INTO correspondance VALUES (24, 13, 1);
INSERT INTO correspondance VALUES (27, 41, 4);
INSERT INTO correspondance VALUES (29, 54, 1);
INSERT INTO correspondance VALUES (30, 55, 1);
INSERT INTO correspondance VALUES (32, 9, 1);
INSERT INTO correspondance VALUES (34, 22, 1);
INSERT INTO correspondance VALUES (37, 50, 3);

CREATE TABLE employes (


numemp int NOT NULL ,
nom varchar(30) default NULL,
prenom varchar(30) default NULL,
adresse varchar(50) default NULL,
ville varchar(30) default NULL,
emploi varchar(30) default NULL,
chef int default NULL,
agence char(3) default NULL,
salairefixe float default NULL,
commission float default NULL,
PRIMARY KEY (numemp)
);

INSERT INTO employes VALUES (1, 'DUPONT', 'ERIC', '12 rue du Bac', 'ARRAS',
'chef d_agence', 41, 'ARR', '3000', '2000');
INSERT INTO employes VALUES (3, 'CONTE', 'HONORE', '42, place Napoléon',
'DENAIN', 'agent administratif', 15, 'DOU', '1800', NULL);
INSERT INTO employes VALUES (4, 'CASSANO', 'GERARD', '255, rue du Prado',
'ARRAS', 'agent administratif', 1, 'ARR', '1800', NULL);
INSERT INTO employes VALUES (5, 'DUPREUX', 'ROBERT', '75, rue mauriac',
'BETHUNE', 'chef des ventes', 1, 'ARR', '2800', '2000');
INSERT INTO employes VALUES (6, 'PENET', 'LOUISE', '57, rue conti',
'DOUAI', 'chef des ventes', 15, 'DOU', '2800', '1300');
INSERT INTO employes VALUES (7, 'DELCOURT', 'FLORENCE', '88, rue du bac',
'LENS', 'vendeur', 5, 'ARR', '2200', '1500');
INSERT INTO employes VALUES (8, 'CASPER', 'ARMAND', '123, rue Trarieux',
'VALENCIENNES', 'vendeur', 6, 'DOU', '2000', '1700');
INSERT INTO employes VALUES (9, 'COURTIN', 'GERARD', '89, Bd St Germain',
'WASQUEHAL', 'chef des ventes', 31, 'LI1', '2800', '1500');
INSERT INTO employes VALUES (10, 'DECLERC', 'HENRI', '18, rue Gros',
'DENAIN', 'agent administratif', 1, 'ARR', '1800', NULL);
INSERT INTO employes VALUES (12, 'WILLIAMS', 'GEORGE', '37, rue
dentellière', 'CALAIS', 'vendeur', 5, 'ARR', '1900', '1300');
INSERT INTO employes VALUES (13, 'BEAUCHAMP', 'EMILIE', '38, rue valjean',
'CALAIS', 'agent administratif', 1, 'ARR', '1800', NULL);
INSERT INTO employes VALUES (14, 'VANASTEN', 'ROBERT', '36, rue verte',
'ROUBAIX', 'vendeur', 9, 'LI1', '2400', '1500');
INSERT INTO employes VALUES (15, 'DELFOSSE', 'LUCIEN', '4, Bd Gayant',
'DOUAI', 'chef d_agence', 41, 'DOU', '2000', '1800');
INSERT INTO employes VALUES (16, 'SCHMIDT', 'ANDRE', '161, rue Lavoisier',
'LAMBERSART', 'vendeur', 9, 'LI1', '2200', '1200');
INSERT INTO employes VALUES (17, 'MARTIN', 'ALAIN', '119, rue Maurice
Berteaux', 'HELLEMMES', 'agent administratif', 31, 'LI1', '1800', NULL);
INSERT INTO employes VALUES (18, 'DUPONT', 'ERIC', '64, rue Jeanne d_Arc',
'HELLEMMES', 'chef d_agence', 41, 'LI2', '3000', '1500');
INSERT INTO employes VALUES (19, 'LUCAS', 'ANNIE', '25, rue du Château',
'CROIX', 'vendeur', 9, 'LI1', '2100', '1600');
INSERT INTO employes VALUES (20, 'THERY', 'GERARD', '63, rue Roger
Salengro', 'HELLEMMES', 'agent administratif', 31, 'LI1', '1800', NULL);
INSERT INTO employes VALUES (21, 'WOLNIEWICZ', 'IRENA', '14, rue
Nationale', 'DOUAI', 'vendeur', 6, 'DOU', '2200', '1200');
INSERT INTO employes VALUES (25, 'DUMONT', 'VERONIQUE', '22, allée
Strauss', 'LEERS', 'agent administratif', 31, 'LI1', '1800', NULL);
INSERT INTO employes VALUES (26, 'DECONNINCK', 'HERVE', '196 allée Ste
Cécile', 'LAMBERSART', 'vendeur', 9, 'LI1', '2150', '1300');
INSERT INTO employes VALUES (27, 'SIREUIL', 'CORINNE', '206, rue de
l_Yser', 'TOURCOING', 'agent administratif', 31, 'LI1', '1800', NULL);
INSERT INTO employes VALUES (28, 'DAILLY', 'CLAUDE', '17, rue Louis
Braille', 'LAMBERSART', 'chef des ventes', 18, 'LI2', '2800', '1200');

INSERT INTO employes VALUES (29, 'TRELCAT', 'LEON', '3, rue du 2ème DB',
'ST ANDRE', 'vendeur', 28, 'LI2', '2230', '700');
INSERT INTO employes VALUES (30, 'LECLERCQ', 'FREDERIC', '142, rue Ogiers',
'CROIX', 'vendeur', 28, 'LI2', '2200', '1100');
INSERT INTO employes VALUES (31, 'TENZA', 'EMMANUELLE', '25, Av du Mal
Delattre de Tassigny', 'ST ANDRE', 'chef d_agence', 41, 'LI1', '3000',
'2000');
INSERT INTO employes VALUES (32, 'QUINTARD', 'ANDRE', '41, rue Jean
Jaurès', 'HELLEMMES', 'vendeur', 28, 'LI2', '2200', '1300');
INSERT INTO employes VALUES (33, 'CASTELAIN', 'ANDRE', '2, rue Wasquehal',
'ROUBAIX', 'agent administratif', 18, 'LI2', '1800', NULL);
INSERT INTO employes VALUES (34, 'POLLET', 'PHILIPPE', '152, Bd Jean
Baptiste Lebas', 'ROUBAIX', 'agent administratif', 18, 'LI2', '1800',
NULL);
INSERT INTO employes VALUES (40, 'REGNAULT', 'YVES', '2, rue de
L_orphelinat', 'LILLE', 'chef d_agence', 41, 'LI3', '3500', '2000');
INSERT INTO employes VALUES (41, 'PERROCHON', 'MARTINE', '92, rue des
Stations', 'LILLE', 'PDG', NULL, NULL, '10000', '5000');
INSERT INTO employes VALUES (42, 'MARTIN', 'MARC', '39, rue d_Arras',
'LILLE', 'agent administratif', 40, 'LI3', '1800', NULL);
INSERT INTO employes VALUES (43, 'RAPP', 'ALFREDE', '13, rue d_Antin',
'LILLE', 'agent administratif', 40, 'LI3', '1800', NULL);
INSERT INTO employes VALUES (44, 'MONET', 'ARTHUR', '142, rue Barthélémy
Delespaul', 'LILLE', 'vendeur', 28, 'LI2', '2180', '1100');
INSERT INTO employes VALUES (45, 'MATTES', 'GERARD', '49, rue de la
Louvière', 'LILLE', 'vendeur', 47, 'LI3', '2250', '1600');
INSERT INTO employes VALUES (46, 'PRADIER', 'ARMAND', '15, Pl du Maréchal
Leclerc', 'LILLE', 'vendeur', 47, 'LI3', '2000', '1900');

INSERT INTO employes VALUES (47, 'FIVET', 'JOSEPH', '224, rue Nationale',
'LILLE', 'chef des ventes', 40, 'LI3', '2800', '1400');
INSERT INTO employes VALUES (50, 'LEMAIRE', 'BEATRICE', '145, rue Anatole
France', 'RONCHIN', 'vendeur', 47, 'LI3', '2200', '1600');
INSERT INTO employes VALUES (52, 'MARTINEZ', 'ANNA', '38, rue des Hêtres',
'ROUBAIX', 'agent administratif', 40, 'LI3', '1800', NULL);
INSERT INTO employes VALUES (53, 'MARTIN', 'PATRICK', '78, rue Horace
Vernet', 'ROUBAIX', 'agent administratif', 18, 'LI2', '1800', NULL);
INSERT INTO employes VALUES (55, 'SOLAGNA', 'LOUIS', '1, allée Edgard
Degas', 'TOURCOING', 'vendeur', 47, 'LI3', '2400', '1500');
INSERT INTO employes VALUES (56, 'DURAND', 'SYLVIE', '4, allée Sylva',
'LAMBERSART', 'vendeur', 9, 'LI1', '2500', '1800');
INSERT INTO employes VALUES (65, 'RENOU', 'CHRISTOPHE', '9 Rue des Saules',
'ERQUINGHEM-LYS', 'vendeur', 5, 'ARR', '2100', '1600');
INSERT INTO employes VALUES (78, 'DIRICKS', 'ADELINE', '32, rue Vlamynck',
'DOUAI', 'vendeur', 6, 'DOU', '2325', '1400');
INSERT INTO employes VALUES (80, 'CRAYENCOURT', 'ADRIENNE', '95, Avue de
Waterloo', 'DOUAI', 'agent administratif', 15, 'DOU', '1800', NULL);
INSERT INTO employes VALUES (82, 'CROS', 'PIERRE', '135, route de palaja',
'VALENCIENNES', 'agent administratif', 15, 'DOU', '1800', NULL);
INSERT INTO employes VALUES (57, 'VANASTEN', 'Emilie', '45, rue de la
paix', 'ARRAS', 'vendeur', 5, 'ARR', '2000', '500');

CREATE TABLE produits (


numprod int NOT NULL ,
designation varchar(100) default NULL,
categorie int default NULL,
poids float default NULL,
couleur varchar(5) default NULL,
prixunit float default NULL,
quantite int default NULL,
seuil int default NULL,
PRIMARY KEY (numprod)
) ;

INSERT INTO produits VALUES (1, 'SONY VAIO VGC-VA1 - Pentium D 820 2,8 GHz
1 Go 250 Go 20" DVD±RW', 1, '5', 'GRIS', '1840', 15, 5);
INSERT INTO produits VALUES (2, 'APPLE iMac - Intel Core Duo 2 GHz 512 Mo
250 Go 20" DVD±RW (MA200F/A)', 1, '4', 'BLANC', '689', 10, 4);
INSERT INTO produits VALUES (3, 'APPLE Mac mini - Intel Core Duo 1,66 GHz
512 Mo 80 Go DVD±RW (MA206F/A)', 1, '4', 'BLEU', '799', 12, 3);
INSERT INTO produits VALUES (4, 'SONY VAIO VGX-XL100 - Pentium D920 2,8 GHz
1 Go 250 Go DVD±RW', 1, '5', 'GRIS', '1460', 10, 2);
INSERT INTO produits VALUES (5, 'ACER Aspire L250 Living Center - Athlon 64
3400+ 2,2 GHz 512 Mo 250 Go DVD±RW', 1, '4', 'NOIR', '740', 10, 2);
--INSERT INTO produits VALUES (6, 'HP Pavilion w5229.fr Athlon 64 3200+ 512
Mo 160 Go DVD±RW', 1, 6.5, 'GRIS', '800', 8, 2);
INSERT INTO produits VALUES (7, 'HP Compaq Business Desktop dx5150 - Athlon
64 X2 3800+ 2 GHz 1024 Mo 160 Go DVD±RW', 1, '5', 'GRIS', '755', 5, 2);
INSERT INTO produits VALUES (8, 'ACER Aspire 3633WLMi_S56 Celeron M 370
1,5GHz 512 Mo 60 Go 15,4" DVD±RW', 2, '2', 'GRIS', '559', 20, 5);
INSERT INTO produits VALUES (9, 'FUJITSU SIEMENS Amilo Pro Edition V2030
Celeron M370 1,5 GHz 256 Mo 40 Go 15.1" DVD/CD-RW', 2, '3', 'NOIR', '539',
18, 5);
INSERT INTO produits VALUES (10, 'TOSHIBA Satellite M70-204 - Pentium M740
1,73 GHz 1 Go 100 Go 15,4" DVD±RW + tuner TNT USB + sacoche', 2, '2',
'GRIS', '189', 12, 5);
INSERT INTO produits VALUES (11, 'SONY Vaio VGN-SZ2XP/C Core Duo 2 GHz 1024
Mo 100 Go 13,3" DVD±RW', 2, '2', 'BLANC', '290', 14, 5);
INSERT INTO produits VALUES (12, 'ACER Aspire 3633WLMi_S108 Celeron M 370
1,5 GHz 1024 Mo 80 Go 15,4" DVD±RW', 2, '2', 'GRIS', '769', 10, 5);
INSERT INTO produits VALUES (13, 'Canon Imprimante SELPHY CP710', 3, '4',
'GRIS', '124', 20, 5);
INSERT INTO produits VALUES (14, 'Canon Imprimante PIXMA iP6210D', 3, '5',
'GRIS', '65', 10, 5);
INSERT INTO produits VALUES (15, 'HP Multifonction Photosmart 3310', 3,
'4', 'NOIR', '312', 18, 5);

INSERT INTO produits VALUES (16, 'Kodak Station d_impression EasyShare


Série 3', 3, '5', 'NOIR', '109', 14, 5);
INSERT INTO produits VALUES (17, 'Samsung Imprimante photo 10x15 SPP-2040',
3, '4', 'GRIS', '138', 10, 5);
INSERT INTO produits VALUES (18, 'Canon Imprimante PIXMA iP2200', 3, '5',
'GRIS', '53', 12, 5);
INSERT INTO produits VALUES (19, 'Brother Multifonction MFC-215C', 3, '4',
'NOIR', '111', 10, 5);
INSERT INTO produits VALUES (20, 'Canon Imprimante PIXMA iP4200', 3, '5',
'GRIS', '82', 15, 5);
INSERT INTO produits VALUES (21, 'Epson Multifonction Stylus Photo RX700',
3, '6', 'GRIS', '269', 8, 5);
INSERT INTO produits VALUES (22, 'Brother Imprimante laser HL-2030', 3,
'5', 'NOIR', '91', 10, 5);
INSERT INTO produits VALUES (23, 'SAPPHIRE TECHNOLOGY Radeon X1600 PRO 512
Mo AGP', 6, '0', NULL, '145', 10, 3);
INSERT INTO produits VALUES (24, 'Radeon 9600 Pro Advantage 256 Mo AGP', 6,
'0', NULL, '55', 7, 3);

INSERT INTO produits VALUES (25, 'POINT OF VIEW GeForce 7800GS 256 Mo AGP',
6, '0', NULL, '299', 6, 4);
INSERT INTO produits VALUES (26, 'XFX GeForce 7900 GT Xtrem Edition 256 Mo
HDTV/Dual DVI PCI Express', 6, '0', NULL, '365', 10, 3);
INSERT INTO produits VALUES (27, 'XFX GeForce 7800 GS Extreme Edition 256
Mo sortie HDTV/DVI AGP', 6, '0', NULL, '340', 5, 3);
INSERT INTO produits VALUES (28, 'CREATIVE Carte son 7.1 PCI Sound Blaster
Audigy SE (version oem) - Technologie EAX 3.0 Advanced HD', 7, '0', NULL,
'24', 15, 3);
INSERT INTO produits VALUES (29, 'PIX Carte Son PCI Dolby Digital 5.1 8738
6-C', 7, '0', NULL, '59', 12, 3);
INSERT INTO produits VALUES (30, 'CREATIVE Carte son 7.1 PCI Sound Blaster
Audigy 4 (version oem) - Technologie EAX 4.0 Advanced HD', 7, '0', NULL,
'52', 15, 3);
INSERT INTO produits VALUES (31, 'AMD Athlon 64 3000+ - 2 GHz, Cache L2 512
Ko Socket 939 (version boîte)', 5, '0', NULL, '70', 10, 4);
INSERT INTO produits VALUES (32, 'AMD Athlon 64 3200+ - 2 GHz, Cache L2 512
Ko Socket 939 (version boîte)', 5, '0', NULL, '81', 12, 4);
INSERT INTO produits VALUES (33, 'INTEL Celeron D336 - 2.8 GHz, Cache L2
256 Ko Socket 775 (version boîte)', 5, '0', NULL, '52', 4, 4);
INSERT INTO produits VALUES (34, 'AMD Athlon 64 X2 3800+ - 2 GHz, Cache L2
1 Mo Socket 939 (version boîte)', 5, '0', NULL, '179', 6, 4);
INSERT INTO produits VALUES (35, 'AMD Sempron 2800+ 64bits - 1,6 GHz, Cache
L2 256 Ko Socket 754 (version boîte)', 5, '0', NULL, '49', 10, 4);
INSERT INTO produits VALUES (36, 'AMD Sempron 3400+ 64bits - 2 GHz, Cache
L2 256 Ko Socket 754 (version boîte)', 5, '0', NULL, '74', 12, 4);
INSERT INTO produits VALUES (37, 'AMD Athlon 64 3500+ - 2,2 GHz, Cache L2
512 Ko Socket AM2 (version boîte)', 5, '0', NULL, '90', 11, 4);
INSERT INTO produits VALUES (38, 'AMD Sempron 2800+ 64bits - 1,6 GHz, Cache
L2 256 Ko Socket 754 (version bulk)', 5, '0', NULL, '69', 12, 4);
INSERT INTO produits VALUES (39, 'AMD Athlon 64 3200+ - 2 GHz, Cache L2 512
Ko Socket 939 (version OEM)', 5, '0', NULL, '119', 10, 4);
INSERT INTO produits VALUES (40, 'INTEL Celeron D331 - 2.66 GHz, Cache L2
256 Ko Socket 775 (version boîte)', 5, '0', NULL, '49', 8, 4);
INSERT INTO produits VALUES (41, 'Mémoire PC 1 Go DDR PC3200 sous blister
(garantie 10 ans)', 11, '0', NULL, '89', 17, 5);

INSERT INTO produits VALUES (42, 'Mémoire PC 512 Mo DDR SDRAM PC3200 sous
blister (garantie 10 ans)', 11, '0', NULL, '48', 15, 5);
INSERT INTO produits VALUES (43, 'Mémoire PC 512 Mo SDRAM PC133 sous
blister (garantie 10 ans)', 11, '0', NULL, '45', 5, 5);
INSERT INTO produits VALUES (44, 'Mémoire PC 1 Go DDR PC2700 sous blister
(garantie 10 ans)', 11, '0', NULL, '92', 12, 5);
INSERT INTO produits VALUES (45, 'Mémoire PC 256 Mo DDR SDRAM PC2100 sous
blister (garantie 10 ans)', 11, '0', NULL, '22', 7, 5);
INSERT INTO produits VALUES (46, 'Epson Scanner Perfection 3490 Photo', 4,
'2', 'GRIS', '73', 8, 3);
INSERT INTO produits VALUES (47, 'Canon Scanner CanoScan 8400F', 4, '3',
'GRIS', '164', 6, 3);
INSERT INTO produits VALUES (48, 'Epson Scanner Perfection 4990 Photo', 4,
'3', 'NOIR', '411', 5, 3);
INSERT INTO produits VALUES (49, 'Mustek Scanner ScanExpress A3 USB', 4,
'3', 'GRIS', '135', 10, 3);
INSERT INTO produits VALUES (50, 'Canon Scanner Canoscan 9950F', 4, '3',
'BLANC', '365', 8, 3);
INSERT INTO produits VALUES (51, 'GN NETCOM Casque GN 501 SC', 9, '0',
NULL, '15', 12, 5);
INSERT INTO produits VALUES (52, 'Logitech Webcam Quickcam Sphere Refresh',
9, '0', NULL, '92', 20, 8);
INSERT INTO produits VALUES (53, 'NGS Pavé numérique VIP Keyboard USB pour
ordinateur portable', 9, '0', NULL, '20', 20, 10);
INSERT INTO produits VALUES (54, 'Altec Lansing Haut-parleurs 2.1 VS 2221',
9, '1', NULL, '32', 10, 8);
INSERT INTO produits VALUES (55, 'Sony Ecran TFT 17" SDM-E76D (8 ms)', 8,
'1', 'GRIS', '189', 15, 10);
INSERT INTO produits VALUES (56, 'Sony Ecran TFT 19" SDM-E96D (8 ms)', 8,
'1', 'NOIR', '245', 12, 10);
INSERT INTO produits VALUES (57, 'Acer Ecran TFT 20,1" AL2016W (8ms)', 8,
'2', 'BLANC', '349', 19, 10);
INSERT INTO produits VALUES (58, 'Viewsonic Ecran TFT 17" VA703m (8 ms)',
1, '0', NULL, '135', 15, 10);

INSERT INTO produits VALUES (59, 'Samsung Ecran TFT 17" SAMTRON 74V (8
ms)', 8, '1', 'NOIR', '159', 11, 10);
INSERT INTO produits VALUES (60, 'Câble USB 2.0 mâle/mâle 5 m', 10, NULL,
NULL, '9', 30, 10);
INSERT INTO produits VALUES (61, 'Hama Adaptateur clavier XT/AT vers PS/2',
10, '0', NULL, '5', 22, 10);
INSERT INTO produits VALUES (62, 'Câble Ethernet RJ45 rouge (catégorie 5) -
10 m', 10, '0', NULL, '15', 12, 10);
INSERT INTO produits VALUES (63, 'Hama Câble Firewire 400 6 broches mâle/6
broches mâle 2 m (45034)', 10, '0', NULL, '12', 27, 10);
INSERT INTO produits VALUES (64, 'Câble USB A mâle/B mâle 1,80 m', 10, '0',
NULL, '10', 14, 10);
INSERT INTO produits VALUES (65, 'Hama Câble USB A mâle/B mâle 3 m', 10,
NULL, NULL, '7', 10, 10);
INSERT INTO produits VALUES (66, 'Belkin Adaptateur Série Pro VGA femelle -
DVI mâle', 10, '0', NULL, '28', 15, 10);
INSERT INTO produits VALUES (67, 'Apple Câble FireWire fin 4 vers 6 broches
1,8 m (M8706)', 10, '0', NULL, '29', 12, 10);
INSERT INTO produits VALUES (68, 'Case Logic Attache Câble CT6N', 10, '0',
NULL, '4', 19, 10);

CREATE TABLE projets (


numproj int NOT NULL ,
designation varchar(50) default NULL,
agence char(3) default NULL,
budgetprevu float default NULL,
PRIMARY KEY (numproj)
) ;

INSERT INTO projets VALUES (1, 'Eqpmt Lycée Montebello-Lille', 'LI1',


'50000');
INSERT INTO projets VALUES (2, 'Auchan V2', 'LI3', '120000');
INSERT INTO projets VALUES (3, 'Continent Wasquehal', 'LI3', '95000');
INSERT INTO projets VALUES (4, 'Lycée Beaudelaire Roubaix', 'LI3',
'25000');
INSERT INTO projets VALUES (5, 'Lycée Gambetta Tourcoing', 'LI3', '12000');
INSERT INTO projets VALUES (6, 'Préfecture Lille', 'LI1', '23000');
INSERT INTO projets VALUES (7, 'Préfecture Arras', 'ARR', '15000');
INSERT INTO projets VALUES (8, 'Conseil Regional PdC', 'LI2', '75000');
INSERT INTO projets VALUES (9, 'Sollac', 'DOU', '200000');
INSERT INTO projets VALUES (10, 'metal Artois', 'ARR', '85000');
INSERT INTO projets VALUES (11, 'Sncf', 'DOU', '25000');

CREATE TABLE vendeurs (


numvendeur int NOT NULL ,
nom varchar(30) default NULL,
prenom varchar(30) default NULL,
adresse varchar(50) default NULL,
ville varchar(30) default NULL,
chef int default NULL,
agence char(3) default NULL,
salairefixe float default NULL,
commission float default NULL,
PRIMARY KEY (numvendeur)
) ;

INSERT INTO vendeurs VALUES (7, 'DELCOURT', 'FLORENCE', '88, rue du bac',
'LENS', 5, 'ARR', '2200', '1500');
INSERT INTO vendeurs VALUES (8, 'CASPER', 'ARMAND', '123, rue Trarieux',
'VALENCIENNES', 6, 'DOU', '2200', '1700');
INSERT INTO vendeurs VALUES (12, 'WILLIAMS', 'GEORGE', '37, rue
dentellière', 'CALAIS', 5, 'ARR', '2200', '1300');
INSERT INTO vendeurs VALUES (14, 'VANASTEN', 'ROBERT', '36, rue verte',
'ROUBAIX', 9, 'LI1', '2200', '1500');
INSERT INTO vendeurs VALUES (16, 'SCHMIDT', 'ANDRE', '161, rue Lavoisier',
'LAMBERSART', 9, 'LI1', '2200', '1200');
INSERT INTO vendeurs VALUES (19, 'LUCAS', 'ANNIE', '25, rue du Château',
'CROIX', 9, 'LI1', '2200', '1600');
INSERT INTO vendeurs VALUES (21, 'WOLNIEWICZ', 'IRENA', '14, rue
Nationale', 'DOUAI', 6, 'DOU', '2200', '1200');
INSERT INTO vendeurs VALUES (26, 'DECONNINCK', 'HERVE', '196 allée Ste
Cécile', 'LAMBERSART', 9, 'LI1', '2200', '1300');
INSERT INTO vendeurs VALUES (29, 'TRELCAT', 'LEON', '3, rue du 2ème DB',
'ST ANDRE', 28, 'LI2', '2200', '700');
INSERT INTO vendeurs VALUES (30, 'LECLERCQ', 'FREDERIC', '142, rue Ogiers',
'CROIX', 28, 'LI2', '2200', '1100');
INSERT INTO vendeurs VALUES (32, 'QUINTARD', 'ANDRE', '41, rue Jean
Jaurès', 'HELLEMMES', 28, 'LI2', '2200', '1300');
INSERT INTO vendeurs VALUES (44, 'MONET', 'ARTHUR', '142, rue Barthélémy
Delespaul', 'LILLE', 28, 'LI2', '2200', '1100');
INSERT INTO vendeurs VALUES (45, 'MATTES', 'GERARD', '49, rue de la
Louvière', 'LILLE', 47, 'LI3', '2200', '1600');
INSERT INTO vendeurs VALUES (46, 'PRADIER', 'ARMAND', '15, Pl du Maréchal
Leclerc', 'LILLE', 47, 'LI3', '2200', '1900');
INSERT INTO vendeurs VALUES (50, 'LEMAIRE', 'BEATRICE', '145, rue Anatole
France', 'RONCHIN', 47, 'LI3', '2200', '1600');
INSERT INTO vendeurs VALUES (55, 'SOLAGNA', 'LOUIS', '1, allée Edgard
Degas', 'TOURCOING', 47, 'LI3', '2200', '1500');
INSERT INTO vendeurs VALUES (56, 'DURAND', 'SYLVIE', '4, allée Sylva',
'LAMBERSART', 9, 'LI1', '2200', '1800');
INSERT INTO vendeurs VALUES (65, 'RENOU', 'CHRISTOPHE', '9 Rue des Saules',
'ERQUINGHEM-LYS', 5, 'ARR', '2200', '1600');
INSERT INTO vendeurs VALUES (78, 'DIRICKS', 'ADELINE', '32, rue Vlamynck',
'DOUAI', 6, 'DOU', '2200', '1400');
INSERT INTO vendeurs VALUES (57, 'VANASTEN', 'Emilie', '45, rue de la
paix', 'ARRAS', 5, 'ARR', '1800', '500');

CREATE TABLE ventes (


numvente int NOT NULL,
numvendeur int default NULL,
datevente char(10) default NULL,
numcli int default NULL,
numproj int default NULL,
PRIMARY KEY (numvente)
) ;

INSERT INTO ventes VALUES (1, 7, '05/09/2006', 12, NULL);


INSERT INTO ventes VALUES (2, 12, '05/09/2006', 6, 3);
INSERT INTO ventes VALUES (3, 21, '06/09/2006', 2, 4);
INSERT INTO ventes VALUES (4, 32, '06/09/2006', 3, NULL);
INSERT INTO ventes VALUES (5, 46, '06/09/2006', 10, NULL);
INSERT INTO ventes VALUES (6, 7, '06/09/2006', 9, 2);
INSERT INTO ventes VALUES (7, 55, '07/09/2006', 7, NULL);
INSERT INTO ventes VALUES (8, 78, '07/09/2006', 11, NULL);
INSERT INTO ventes VALUES (9, 50, '07/09/2006', 20, NULL);
INSERT INTO ventes VALUES (10, 8, '07/09/2006', 1, NULL);
INSERT INTO ventes VALUES (11, 44, '08/09/2006', 15, NULL);
INSERT INTO ventes VALUES (12, 7, '11/09/2006', 12, NULL);
INSERT INTO ventes VALUES (13, 46, '11/09/2006', 32, 9);
INSERT INTO ventes VALUES (14, 65, '11/09/2006', 18, NULL);
INSERT INTO ventes VALUES (15, 16, '11/09/2006', 19, NULL);
INSERT INTO ventes VALUES (16, 46, '11/09/2006', 21, NULL);
INSERT INTO ventes VALUES (17, 65, '11/09/2006', 22, NULL);
INSERT INTO ventes VALUES (18, 14, '12/09/2006', 8, 6);
INSERT INTO ventes VALUES (19, 19, '12/09/2006', 23, NULL);
INSERT INTO ventes VALUES (20, 30, '12/09/2006', 24, NULL);
INSERT INTO ventes VALUES (21, 44, '12/09/2006', 25, NULL);
INSERT INTO ventes VALUES (22, 32, '12/09/2006', 26, NULL);
INSERT INTO ventes VALUES (23, 14, '12/09/2006', 8, 6);
INSERT INTO ventes VALUES (24, 56, '13/09/2006', 27, NULL);
INSERT INTO ventes VALUES (25, 12, '13/09/2006', 6, 3);
INSERT INTO ventes VALUES (26, 21, '13/09/2006', 2, 4);
INSERT INTO ventes VALUES (27, 55, '13/09/2006', 28, NULL);
INSERT INTO ventes VALUES (28, 8, '13/09/2006', 14, 10);
INSERT INTO ventes VALUES (29, 29, '13/09/2006', 29, NULL);
INSERT INTO ventes VALUES (30, 30, '13/09/2006', 30, NULL);
INSERT INTO ventes VALUES (31, 7, '13/09/2006', 9, 2);
INSERT INTO ventes VALUES (32, 45, '14/09/2006', 31, NULL);
INSERT INTO ventes VALUES (33, 12, '14/09/2006', 6, 3);
INSERT INTO ventes VALUES (34, 32, '14/09/2006', 3, NULL);
INSERT INTO ventes VALUES (35, 46, '14/09/2006', 5, 11);
INSERT INTO ventes VALUES (36, 44, '14/09/2006', 25, NULL);
INSERT INTO ventes VALUES (37, 14, '15/09/2006', 2, 4);
CREATE TABLE agences (
refag char(3) NOT NULL,
designation varchar(50) default NULL,
ville varchar(30) default NULL,
capital float default NULL,
PRIMARY KEY (refag)
);

INSERT INTO agences VALUES ('ARR', 'AGENCE D_ARRAS CENTRE', 'ARRAS',


'70000');
INSERT INTO agences VALUES ('DOU', 'UNITE DE DOUAI ZI EST', 'DOUAI',
'100000');
INSERT INTO agences VALUES ('LI1', 'BUREAU LILLE CENTRE', 'LILLE',
'100000');
INSERT INTO agences VALUES ('LI2', 'UNITE DE LILLE OUEST', 'LILLE',
'50000');
INSERT INTO agences VALUES ('LI3', 'UNITE DE LILLE EST', 'LILLE',
'120000');

TRAVAIL A FAIRE

Ecrivez en SQL les requêtes suivantes et testez-les

Requêtes simples

1. Donnez la liste de toutes les informations sur tous les produits.


2. Donnez la liste des informations sur les produits de couleur grise.
3. Donnez la liste des produits dont le poids est compris entre 2 et 3 kilos.
4. Donnez la liste des différentes couleurs des produits.
5. Donnez la liste (nom, prenom, agence), triée par le nom, des vendeurs dont le nom commence par
DU
6. Donnez la liste, triée par le nom, des vendeurs des agences d’Arras ou de Douai.
7. Donnez la liste (nom, prenom, agence, salairefixe) des vendeurs, triée par agence puis par salaire
fixe.
8. Quels sont les vendeurs dont la commission n’EST PAS comprise entre 1000 et 1500 euros et dont
le nom ne contient pas 2 fois la lettre ’L’.
9. Quels sont les vendeurs dont le salaire fictif, exprimé par : salairefixe + 10*commission, est
supérieur à 20000 euros.
10. Comptez le nombre de vendeurs des agences de Lille-Centre (LI1)
11. Comptez le nombre des différentes couleurs des produits.
12. Affichez le poids total, le poids minimal et le poids moyen de tous les produits.
13. Affichez le salaire fixe moyen et la commission moyenne des vendeurs des agences de Lille.
14. Quels sont les produits dont le poids est inconnu.
15. Donnez la liste des agences, avec, pour chacune d’elle, le nombre de vendeurs, le salaire fixe
moyen,
la commission moyenne de ses vendeurs. Accompagnez chaque colonne de cette liste du libellé
correspondant.
16. Donnez la liste des homonymes parmi les vendeurs.
17. Donnez la liste des categories de produits, avec pour chacune d’elle, le nombre de produits
concernes, leur poids moyen, leur poids total, la valeur totale.
18. Répondre à la même question en ne tenant compte que des produits dont le prix unitaire est
compris entre 100 et 500 euros et dont le nombre est supérieur à 3.
Requêtes avec jointures

19. Donnez la liste des pièces vendues dans le cadre du projet numéro 4
20. Donnez la liste, triée par ordre alphabétique, de vendeurs qui sont intervenus dans le cadre de ce
projet.
21. En ce qui concerne les projets, donnez le numéro des produits vendus, leur désignation, la
quantité vendue, le prix total, le numéro du vendeur, celui du projet et la désignation de ce dernier.
Ordonnez le résultat par projet et vendeur.
22. Modifiez la requête précédente en y rajoutant la désignation de l’agence qui suit le projet.
23. Donnez la liste des produits (numprod, designation) vendus par une des agences d’Arras ou de
Douai.
24. Donnez la liste des projets, avec, pour chacun d’eux, le nombre des ventes, la quantité totale
vendue,
la valeur des ventes.
25. Donnez la liste de toutes les équipes possibles de deux vendeurs d’une même agence (sans
répétition).
26. Donnez la liste de tous les ensembles possibles de 3 produits (sans répétition) dont la somme des
prix soit inférieure `a 1000 euros.
1
27. Donnez la liste, sans répétition, de tous les ensembles possibles de deux produits dont la
moyenne des poids NE SOIS PAS comprise entre 3 et 4 kg.
28. Donnez la liste des vendeurs qui interviennent dans un projet qui n’est pas suivi par leur agence.
29. Donnez la liste des clients, classée par ordre décroissant en fonction du volume des achats.
30. Donnez la liste des catégories de produits, ordonnée selon le prix moyen des produits appartenant
à chaque catégorie.
31. Donnez la liste des agences, ordonnée (sens décroissant) selon le nombre de leur personnel.

Sous requêtes non corrélatives

REM : Ces requêtes pourraient aussi bien être écrite uniquement à l’aide de jointures.

32. Donnez la liste des vendeurs qui interviennent dans le projet numéro 4.
33. Donnez la liste des produits dont le poids soit supérieur à la moyenne des poids et dont le prix soit
compris entre 100 et 500 euros.
34. Donnez la liste des agences dont le chiffre d’affaire (valeur totale des ventes réalisées) soit
supérieure au chiffre d’affaire moyen de toutes les agences (chiffre d’affaire total divisé par le nombre
d’agence,considère comme connu et égal à 5).
35. Donnez la liste des vendeurs dont le salaire est supérieur à celui d’au moins un vendeur d’une des
agences de Lille.
36. Même requête, en remplaçant : “au moins un vendeur” par “de tous les vendeurs”.
37. Donnez la liste des vendeurs qui interviennent dan un projet pour lequel des pièces grises ont été
vendues. Remplacez TOUTES les jointures par des sous- requêtes imbriquées.
38. Quel est le vendeur qui a le plus vendu (en valeur financière).

Sous-requetes corrélatives

43. Donnez la liste des vendeurs dont le salaire est supérieur à la moyenne des salaires des vendeurs
de la même agence.
44. Donnez la liste des vendeurs qui n’ont rien vendu.
45. Donnez la liste des projets pour lesquels aucun produit de valeur supérieure à 500 euros n’a été
vendu.
46. Donnez la liste des vendeurs qui travaillent dans une des agences qui suivent les projets
retournes par la requête précédente.

Das könnte Ihnen auch gefallen