Vous êtes sur la page 1sur 3

Les requtes en langage SQL (exercices)

Exemple choisi : La socit X utilise le logiciel de gestion de base de donnes Access pour grer ses clients et ses reprsentants. Voici la liste des tables cres dans Access :

la table reprsentant
NUM_REP 1 2 3 4 5 6 NOM_REP DELMOTTE HINAUD LAPIERRE LATOUR LEMOINE LEMOINE AD_REP 18 rue Aristide Briand 25 rue Martel 89 rue Gaston berger 7 rue du Four 5 rue Aubos 12 route des Fiacres CP_REP 75012 94120 95100 91700 91700 93140 VIL_REP PARIS FONTENAY SOUS BOIS ARGENTEUIL FLEURY MROGIS FLEURY MEROGIS BONDY AGE_REP 26 31 52 44 28 34

la table couvrir
NUM_REP 1 1 2 2 3 3 4 5 5 6 6 COD_DEP 75 94 93 94 91 75 95 93 91 92 95

la table dpartement
COD_DEP 75 91 92 93 94 95 NOM_DEP Paris Essonne Hauts de Seine Seine Saint Denis Val de Marne Val d'Oise CHEF SECTEUR PONS BERTRAND FISCHER FISCHER BERTRAND BERTAND

la table client
CODE_CLT 1 2 3 4 5 6 .. NOM_CLT BOCCARD RALDI PIERROL ENGELI ATR PARTOLI NUM_REP 1 2 2 2 4 4 NUM_CAT 1 1 3 3 2 3

la table catgorie tarifaire


NUM_CAT 1 2 3 NOM_CAT ENTREPRISES COLLECTIVITES PARTICULIERS REMISE 10% 5% 0%

Le modle relationnel correspondant :

REPRESENTANT (Num_rep, Nom_rep, Ad_rep, CP_rep, Vil_rep, Age_rep) COUVRIR (#Num_rep, #Code_dep) DEPARTEMENT (Code_dep, nom_dep, chef secteur) CLIENT (Code_clt, Nom_clt, #Num-rep,#Num-cat) CATEGORIE TARIFAIRE (Num_cat, Nom_cat, Remise) Ecrire les requtes suivantes
1) Afficher la liste des clients appartenant la catgorie tarifaire n1, classe par ordre alphabtique 2) Afficher la liste des clients (code, nom de client) rattachs au reprsentant HINAUD 3) Afficher la liste des clients bnficiant d'une remise de 10% 4) Afficher la liste des reprsentants (Numro et nom) dpendant du chef de secteur PONS 5) Afficher la liste des dpartements (code, nom, chef de secteur) 6) Afficher la liste des chefs de secteur

Correction
R1) SELECT * FROM Client WHERE Num-cat =1 ORDER BY Nom-clt ASC R2) SELECT Client.code-clt, Client.Nom-clt FROM Client, Reprsentant WHERE Reprsentant.Nom-rep = Hinaud AND Client.Num-rep = Rerpsentant.numrep R3) SELECT Client.* FROM Client, Catgorie tarifaire WHERE Catgorie tarifaire.remise = 10% AND Client.Num-cat = Catgorie tarifaire.Num-cat R4) SELECT Reprsentant.num-rep, Reprsentant.Nom-rep FROM Reprsentant, Couvrir, Dpartement Where Dpartement.chef secteur = Pons AND Reprsentant.Num-rep = Couvrir.Num-rep AND Couvrir.code-dep = Dpartement.code-dep R5) SELECT * FROM Dpartement R6) SELECT DISTINCT Chef secteur FROM Dpartement

Facultatif

R1) SELECT * FROM Client WHERE Num-cat =1 ORDER BY Nom-clt ASC R2) SELECT Client.code-clt, Client.Nom-clt FROM Client, Reprsentant WHERE Reprsentant.Nom-rep = Hinaud AND Client.Num-rep = Rerpsentant.numrep

Facultatif

R3) SELECT Client.* FROM Client, Catgorie tarifaire WHERE Catgorie tarifaire.remise = 10% AND Client.Num-cat = Catgorie tarifaire.Num-cat R4) SELECT Reprsentant.num-rep, Reprsentant.Nom-rep FROM Reprsentant, Couvrir, Dpartement Where Dpartement.chef secteur = Pons AND Reprsentant.Num-rep = Couvrir.Num-rep AND Couvrir.code-dep = Dpartement.code-dep R5) SELECT * FROM Dpartement R6) SELECT DISTINCT Chef secteur FROM Dpartement

Vous aimerez peut-être aussi