We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 10
‘0s'2024 00:03 Exercices comigés en Langage SQL
one macy cna GBivoetoraree teee
Exercices corrigés en Langage SQL
<< Langage SQL >>
Exercice 1
Soita base de données relationnelle des vols quotidiens d'une compagnie aérienne qul
content les tables Avion, Pilot et Vo.
“Table Avion (NA: numéro d'avion (lé primaire),
Nom:nomd'avion,
-capacitéd'avion de type entier,
Adresse adresse du pilote)
Table Vol (NV: numéro de vol,
HD: heure de départ,
HA: heure d’arrivée}
hitpsthwww.coodemaroe.com/2022/10isq.himl sno‘0s'2024 00:03 Exercices comigés en Langage SQL
Exprimez en SQL les requétes suivantes:
1) Insérer les avions suivants dans la table Avion :
(100, AIRBUS, 300, RABAT), (101,8737,250,CASA), (101, B737,220,RABAT)
2) Afficher tous les avions
3) Afficher tous les avions par ordre croissant sur le nom
4) Afficher les noms et les capacités des avions
5) Afficher les localités des avions sans redondance
6) Afficher les avions dans la localité est Rabat ou Casa
rm aa
gs
Sept. 30 - Oct. 5,:
cd
Cm
7) Modifier la capacité de l'avion numéro 101, la nouvelle capacité et 220
ty aa
gs
Sept. 30 -Oct.5,
cy
= Him ge
Cm
'8) Supprimer tes avions dans la capacité et inférieure & 200
9) Afficher la capacité maximale, minimale, moyenne des avions
10) Afficher les données des avions dont la capacité et la plus basse
11) Afficher les données des avions dont la capacité et supérieure & la capacité moyenne
12) Afficher le nom et V'adresse des pilotes assurant les vols 1T100 et IT104
13) Afficher les numéros des pilotes qui sont en service
14) Afficher les numéros des pilotes qui ne sont pas en service
15) Afficher les noms des pilotes qui conduisent un AIRBUS.
orm es
gs
Sept. 30 - Oct. 5,:
rc
Wey ae
\ CO
Corrigé de Vexercice 1
3) Insert into avion values (100, AIRBUS’, 300, "RABAT");
Insert into avion values (101, 'B737', 250, 'CASA');
Insert into avion values (101, 'B737', 220, RABAT
2) select * from avion;
‘ntps:www-coodemaroc.com/2022/1 sq.m
2it000812024 00:03 Exercices comigés en Langage SQL
3) select * from avion order by Nom asc;
4) select nom, Capacite from avion;
5) select distinct Localite from avion;
6) select * from avion where Localite="Rabat' or Localit
7) Update avion set Capacit
120 where NA=101;
4) Delete from avion where Capacite <200;
9) Select Max(Capacite), Min(Ca
ite), Avg(Capacite) from avion;
10) Select * from avion where Capacite=min(Capacite);,
12) Select Nom, Adresse from Pilote, Vol where Pilote.NI
NV="T104';
fol.NP and NV="!T100! and
413) Select NP from Vol
14) Select NP from Pitote
where NP notin (select NP from Vol);
15) Select Pilote.NOM from Pilote, Vol, Avion where Pilote.NP = Vol.NP and Avion.NA=
participer un ou plusieurs musiciens, Un musicien ne peut participer qu’ une seule
représentation,
Representation(N_Rep, titre_Rep, lieu)
Musicien (N_mus, nom, #N_Rep)
Programmer (Date , #N_Rep, tarif)
Exprimez en SQL les requétes suivante:
1)Donner La liste des titres des représentations.
2)Donner La liste des titres des représentations ayant lieu au « théatre Rabat ».
_2)Donner La liste des noms des musiciens et les titres des représentations auxquelles ils
participent.
ntps:twww-coodemaroe,com 2022/1059) Nim
3it000812024 00:03 Exercices comigés en Langage SQL
4)Donner La liste des titres des représentations, les lieux et les tarifs du 21/07/2022.
5)DonnerLe nombre des musiciens qui participent & la représentations n°15.
6)Donner Les titres des représentations et leurs dates dont le tarif ne dépasse pas 30DH.
Corrigé de Vexercice 2
1)SELECT titre_Rep FROM Representation;
2) SELECT titre_Rep FROM Representation where lieu="Rabat”
3)SELECT M.nom, R.titre_Rep FROM Musi
R.Num_rep=M.Num_re}
jen M, Representation R where
4)SELECT Ratitre_Rep, R.lieu,Ptarif FROM Programmer P, Representation R
WHERE P.Num_rep = R.Num_rep and P.date="21-07-2022";,
5)SELECT COUNT (*) FROM Musicien where Num_ro
6)SELECT Retitre_Rep , P.Date FROM Representa
|_Rep and Ptarif<=305
R, Programmer P where
‘On considére la base de données suivante:
Départements(N_dep, Nom_dep, VILLE)
Employes(N_E, Nom_E, PROF, SAL, COMM, #N_dep)
Exprimez.en SQL les requétes suivantes.
1)Donnez ta liste des employés ayant une commission
2)Donnez les noms, emplois et salaires des employés par emploi croissant, et pour
chaque emploi, par salaire décroissant
3)Donnez le salaire moyen des employés
4)Donnez le salaire moyen du département Production
ntps:twww-coodemaroe,com 2022/1059) Nim
41000812024 00:03 Exercices comigés en Langage SQL
5)Donnes les numéros de département et leur salaire maximum
6)Donnez les différentes professions et leur salaire moyen
‘7)Donnez le salaire moyen par profession le plus bas
£8)Donnez le ou les emplois ayant le salaire moyen le plus bas, ainsi que ce salaire moyen
Corrigé de Vexercice 3
1)SELECT * FROM Employes WHERE COMM NOT NULL;
2)SELECT Nom_E, PROF, SAL FROM Employes ORDER BY PROF ASC, SAL DESC;
3)SELECT AVG(SAL) FROM Employes;
4)SELECT AVG(E.SAL) FROM Employes E , Departement D where E.N_dep=D.N_dep and
D.Nom_dep="production";
5)SELECT N_dep, MAX(SAL) FROM Employes GROUP BY N_dep;
6)SELECT PROF, MAX(SAL) FROM Employes GROUP BY PROF;
‘T)SELECT PROF, AVG(SAL) as moy FROM Employes
GROUP BY PROF ORDER BY moy ASC LIMIT 1;
Exercice 4
jae la base de données suivante relatif & la gestion des notes annuelles d’une
promotion d’étudiants:
ETUDIANT(NEtudiant, Nom, Prenom)
MATIERE(CodeMat, NomMat, CoeffMat)
EVALUER(#NEtudiant, #CodeMat, Date, Note)
Exprimez en SQL les requétes suivantes:
1) Quel est le nombre total d’étudiants ?
2) Quelles sont, parmi ensemble des notes, la note la plus haute et la note la plus basse
2) Quelles sont les moyennes de chaque étudiant dans chacune des matiéves ?
‘4)Quelles sont les moyennes par matiére ? Avec la vue MGETU de la question 3(
MOYETUMAT)
'5)Quelte est la moyenne générale de chaque étudiant ? Avec la vue MGETU de la question
3 (MOYETUMAT)
6) Quelle est la moyenne générale de la promotion ? Avec la vue MGETU de la question 5:
7) Quels sont les étudiants qui ont une moyenne générale supérieure ou égale ila
‘moyenne générale de a promotion? Avec [a vue MGETU de la question
Corrigé de Vexercice 4
1) SELECT count(*) FROM ETUDIANT ;
2) SELECT MIN(Note) as ‘plus basse note’, MAX(Note) as plus haute note’ FROM EVALUER ;
3) SELECT E.NEtudiant, M.NomMat, AVG(EV.Note) AS MoyEtuMat
FROM EVALUER EV, MATIERE M, ETUDIANT E WHERE EV.CodeMat = M.CodeMat AND
EV.NEtudiant = E.NEtudiant GROUP BY E.NEtudiant, M.NomMat
ntps:twww-coodemaroe,com 2022/1059) Nim si1000812024 00:03 Exercices comigés en Langage SQL
4)SELECT NomMat, AVG(MoyEtuMat) FROM MOYETUMAT GROUP BY NomMat ;,
5) SELECT NEtudiant, SUM (MoyEtuMat*CoeffMat)/SUM(CoeffMat) AS MgEtu
FROM MOYETUMAT GROUP BY NEtudiant ;
6)SELECT AVG(MgEtu) FROM MGETU;
7) SELECT NEtudiant , Nom, Prenom , MgEtu FROM MGETU
WHERE MgEtu>= (SELECT AVG(MgEtu) FROM MGETU) ;
'8)SELECT PROF FROM Employes GROUP BY PROF
HAVING AVG(SAL}=(SELECT AVG(SAL) as moy FROM Employes GROUP BY PROF ORDER BY
‘moy ASC LIMIT 1);
Exercice 5
Developpeur (NumDev, NomDev, AdrDev, EmailDev, TelDev)
Projet (NumProj, TitreProj, DateDeb, DateFin)
Logiciel (codLog, NomLog, PrixLog, #NumProj)
Realisation (#NumProj, #NumDev)
Exprimez.en SQL les requétes suivantes:
{)afficher les noms et les prix des logiciels appartenant au projet ayant comme titre «
gestion de stock », triés dans Vordre décroissant des pri
2)afficher le total des prix des logiciels du projet numéro 10, Lors de Vafichage, le titre
de la colonne sera « cours total du projet ».
3)Afficher le nombre de développeurs qui ont participé au projet intitulé « gestion de
stock»
4)Afficher les projets qui ont plus que 5 logiciels.
5) Les numéros et noms des développeurs qui ont participés dans tout les projets.
6)Afficher Les numéros de projets dans lesquelles tous les développeurs y participent
dans sa réalisation.
Corrigé de Vexercice 5
{1)SELECT L.NomLog, L.PrixL.og FROM LogicielL, Projet P where L.NumProj=P.NumProj
and PritreProj= "gestion, de stock"
ORDERBY L.PrixLog DESC;
2) SELECT SUM(PrixLog) as "cout total du,projet” FROM Logiciel WHERE NumPROj=10 5
3) SELECT count(*) FROM Developpeur D , Res
jon R, Projet P where D.NumDev
4) SELECT NumProj, TitreProj FROM PRojet P, Logiciel L where P.NumProj
GROUP BY NumProj, TitreProj
HAVING count(*}>5 5
5) SELECT NumDev, NomDev FROM Developpeur D , Realisation R where D.NumDev=
ntps:twww-coodemaroe,com 2022/1059) Nim 61100105,2024 00:03,
R.NumDev
GROUP BY Numbev, NomDev
HAVING count(*}=(SELECT COUNT(*) FROM Projet) ;
6) SELECT NumProj, TitreProj FROM Projet P, Ré
GROUP BY NumProj, TitreProj
HAVING count(*}=(SELECT COUNT(*) FROM Developpeur);
isation R where P.NumProj
-NumProj
Exercice 6
Soit la base de données "gestion_projet” permettant de gérer les projets relatifs au
développement de logiciels suivante :
Developpeur (NumDev, NomDev, AdrDev, EmailDev, TelDev)
Projet (NumProj, TitreProj, DateDeb, DateFin)
Logiciel (CodLog, NomLog, PrixLog, #NumProj)
Realisation (#NumProj, #NumDev)
Ecrire en SQL les requétes suivantes :
1. Créer les tables « Projet» et « Logiciel ». préciser clairement les types des données.
2. Afficher les noms et les prix des logiciels appartenant au projet ayant comme titre «
gestion de stock », triés
dans Vordre décroissant des prix.
3. Afficher le total des prix des logiciels du projet numéro 10. Lors de Vaffichage, le titre
dela colonne sera « coiit total du projet ».
4. Afficher le nombre de développeurs qui ont participé au projet intitulé « gestion de
stock»,
5. Afficher les projets qui ont plus que 5 logiciels.
6. Les numéros et noms des développeurs qui ont participés dans tous les projets.
7. Reporter la date de fin des projets dont le titre contient « Web »& la date « 17/04/2022 »
Corrigé de Vexercice 6
1) CREATE TABLE Projet (
NumProj INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
TitreProj VARCHAR(40),
DateDeb Date,
DateFin Date,
)
ENGIN
node
‘CREATE TABLE Logiciel(
CodeLog INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
NomLog VARCHAR(40),
PrixLog DECIMAL,
NumProj INT UNSIGNED,
ntps:twww-coodemaroe,com 2022/1059) Nim
7000812024 00:03 Exercices comigés en Langage SQL
CONSTRAINT fk projet_numero
FOREIGN KEY (NumProj)
REFERENCES Projet(NumP!
ENGIN
ynoDB
2) SELECT L.NomLog, L.PrixLog
FROM Logiciel L
WHERE PrritreProj="gestion.de, stock"
‘ORDER BY L.PrixLog DESC
3) SELECT SUM(PrixLog) as "cout, total du,projet”
FROM Logiciel
WHERE NumPRoj=10
4) SELECT count(
FROM Developpeur D
INNER JOIN Realisation R ON D.NumD
.Numbev
INNER JOIN Projet P ON P.NumProj=R.NumProj
WHERE PrritreProj="gestion.de, stock"
5) SELECT NumProj, TitreProj
FROM Projet P
INNER JOIN Logiciel L ON P.NumProj=L.NumProj
GROUP BY NumProj, TitreProj
HAVING count(*)>5
6) SELECT NumDev, NomDev
FROM DeveloppeurD
INNER JOIN Realisation R ON D.NumD
GROUP BY NumDev, NomDev
HAVING count(*}=(SELECT COUNT(*) FROM Projet)
7) UPDATE Projet
SET Dats
'17/04/2022"
WHERE TitreProj like ‘%6Web%" 5
Exercice 7
(On considare la base de données suivante:
‘Client (dCi nomvilte)
Produit (IdPro, Nom, marque, Prix,Qstock)
Vente (#IdCL,#dPro, date te)
Exprimer en SQL les requétes suivantes :
ntps:twww-coodemaroe,com 2022/1059) Nim
sito00812024 00:03 Exercices comigés en Langage SQL
1. Donner les différentes marques de produit.
2. Lister les produits de marque 18M, Apple ou Asus.
3. Donner les noms des clients qui ont acheté le produit ‘pi’.
4. Donner les noms des produits qui n'ont pas été acheté.
5. Donner les noms des clients ayant acheté un produit en quantité supérieure & chacune
des quantités de produits
achetées parle client 'e1’
6. Donner les noms des produits moins chers que la moyenne des prix de tous les.
produits.
7. Supprimer les ventes des clients de Fés antérieures au O1-mar-2022.
Corrigé de Vexercice 7
1) select Distinct p.marque from produit p
2)select * from produit p where p.marque in ("IBM', ‘APPEL, 'ASUS')
3)select c.nom from client c where IdCliin( select v.ldCli from vente v where
p.ldPro='p1)
4)select p.nom from produit p where not exists (select * from vente v where v.ldpro=
pildPro)
5) select vildclifrom vente v where v.ate?
a)
6) select p1.nom from produit p1 where p1.prix < (select AVG (p2.prix) from produit p2 )
17) delete from vente where date <'01-mars-2022' and !dCli in (select.
where c.ville="fes')
(select w.gte from vente w where w.ldCli:
1dcli from client
f fecetook wer in
ntps:twww-coodemaroe,com 2022/1059) Nim
eit0010812024 00:03 Exercices comgés en Langage SQL
Bsopercicesconigéserbien 60 Exercees rerclees contigs uta
‘dealt en Java et 20Odh Pytnen POO dy programmation Oranté Objet en
Feoruary 5,203 December 28,2002 Python
Pour kisser un commentaire, ciquezsurle bouton ci-dessous afin de vous connecter avec Google
ntps:twww-coedemaroe,com 2022/1059 Ntmt 0110