0% ont trouvé ce document utile (0 vote)
103 vues3 pages

Exercices SQL

exercices sql

Transféré par

sami.elaid
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
103 vues3 pages

Exercices SQL

exercices sql

Transféré par

sami.elaid
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

3)SELECT [Link], R.

titre_Rep FROM Musicien M , Representation R where


R.Num_rep=M.Num_rep; 4)SELECT R.titre_Rep, [Link],[Link] FROM Programmer P,
Representation R WHERE P.Num_rep = R.Num_rep and [Link]="21-07-2022"; 5)SELECT
COUNT (*) FROM Musicien where Num_rep =15; 6)SELECT R.titre_Rep , [Link] FROM
Representation R , Programmer P where R.N_Rep=P.N_Rep and [Link]<=30 ; Exercice 3 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 la 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 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 l’exercice 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([Link]) 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 ; 7)SELECT PROF, AVG(SAL) as moy
FROM Employes GROUP BY PROF ORDER BY moy ASC LIMIT 1 ; Exercice 4 On
considère 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 l’ensemble des
notes, la note la plus haute et la note la plus basse ? 3) Quelles sont les moyennes de chaque
étudiant dans chacune des matières ? 4)Quelles sont les moyennes par matière ? Avec la vue
MGETU de la question 3 ( MOYETUMAT) 5)Quelle 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 à la moyenne générale de la promotion?
Avec la vue MGETU de la question 5 Corrigé de l’exercice 4 1) SELECT count(*) FROM
ETUDIANT ; 2) SELECT MIN(Note) as ’plus basse note’, MAX(Note) as ’plus haute note’
FROM EVALUER ; 3) SELECT [Link], [Link], AVG([Link]) AS MoyEtuMat
FROM EVALUER EV, MATIERE M, ETUDIANT E WHERE [Link] = [Link]
AND [Link] = [Link] GROUP BY [Link], [Link] ; 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 On considère la base de données suivante:
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: 1)afficher les noms et les prix des
logiciels appartenant au projet ayant comme titre « gestion de stock », triés dans l’ordre
décroissant des prix . 2)afficher le total des prix des logiciels du projet numéro 10. Lors de
l’affichage, 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 l’exercice 5 1)SELECT [Link], [Link]
FROM Logiciel L , Projet P where [Link] =[Link] and [Link]=
"gestion␣de␣stock" ORDER BY [Link] DESC ; 2) SELECT SUM(PrixLog) as
"cout␣total␣du␣projet" FROM Logiciel WHERE NumPRoj=10 ; 3) SELECT count(*)
FROM Developpeur D , Realisation R, Projet P where [Link] =[Link] and
[Link]= [Link] ; 4) SELECT NumProj, TitreProj FROM PRojet P , Logiciel L
where [Link]=[Link] GROUP BY NumProj, TitreProj HAVING count(*)>5 ; 5)
SELECT NumDev, NomDev FROM Developpeur D , Realisation R where [Link] =
[Link] GROUP BY NumDev, NomDev HAVING count(*)=(SELECT COUNT(*)
FROM Projet) ; 6) SELECT NumProj, TitreProj FROM Projet P , Realisation R where
[Link]=[Link] GROUP BY NumProj, TitreProj HAVING count(*)=(SELECT
COUNT(*) FROM Developpeur); 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 l’ordre décroissant des
prix. 3. Afficher le total des prix des logiciels du projet numéro 10. Lors de l’affichage, le titre
de la colonne sera « coût 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 l’exercice 6 1) CREATE TABLE Projet ( NumProj INT UNSIGNED PRIMARY
KEY AUTO_INCREMENT, TitreProj VARCHAR(40), DateDeb Date, DateFin Date, )
ENGINE=InnoDB; CREATE TABLE Logiciel ( CodeLog INT UNSIGNED PRIMARY
KEY AUTO_INCREMENT, NomLog VARCHAR(40), PrixLog DECIMAL, NumProj INT
UNSIGNED, CONSTRAINT fk_projet_numero FOREIGN KEY (NumProj) REFERENCES
Projet(NumProj) ) ENGINE=InnoDB; 2) SELECT [Link], [Link] FROM Logiciel L
INNER JOIN Projet P ON [Link]=[Link] WHERE [Link]="gestion␣de␣stock"
ORDER BY [Link] 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 [Link]=[Link] INNER JOIN Projet P ON
[Link]=[Link] WHERE [Link]="gestion␣de␣stock" 5) SELECT NumProj,
TitreProj FROM Projet P INNER JOIN Logiciel L ON [Link]=[Link] GROUP BY
NumProj, TitreProj HAVING count(*)>5 6) SELECT NumDev, NomDev FROM
Developpeur D INNER JOIN Realisation R ON [Link]=[Link] GROUP BY
NumDev, NomDev HAVING count(*)=(SELECT COUNT(*) FROM Projet) 7) UPDATE
Projet SET DateFin = '17/04/2022' WHERE TitreProj like ‘%Web%’ ; Exercice 7 On
considère la base de données suivante: Client (IdCli ,nom,ville) Produit ( IdPro, Nom,
marque, Prix,Qstock ) Vente (#IdCL,#IdPro, date ,qte) Exprimer en SQL les requêtes
suivantes : 1. Donner les différentes marques de produit. 2. Lister les produits de marque
IBM, Apple ou Asus. 3. Donner les noms des clients qui ont acheté le produit 'p1'. 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 par le client 'c1'. 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 01-mar-2022. Corrigé de l’exercice 7 1)
select Distinct [Link] from produit p 2)select * from produit p where [Link] in ('IBM',
'APPEL', 'ASUS') 3)select [Link] from client c where IdCli in( select [Link] from vente v
where [Link]='p1') 4)select [Link] from produit p where not exists (select * from vente v
where [Link]= [Link]) 5) select [Link] from vente v where [Link]>=all(select [Link] from
vente w where [Link] = 'c1') 6) select [Link] from produit p1 where [Link] < (select AVG
([Link]) from produit p2 ) 7) delete from vente where date < '01-mars-2022' and IdCli in
( select [Link] from client c where [Link]= 'fes') Facebook Twitter Ces posts pourraient vous

intéresser algorithme 📚 50 Exercices corrigés et bien détaillés en Java et POO👍 February 15,

2023 algorithme 📚 60 Exercices corrigés en Python & POO👍👍 December 29, 2022 algorithme
Exercices corrigés sur la programmation Orienté Objet en Python December 25, 2022
Enregistrer un commentaire 0 Commentaires Social Plugin Categories Home Privacy Policy
Contact Us Copyright © 2024 Coode Maroc Ce site utilise des cookies provenant de Google
pour fournir ses services et analyser le trafic. Votre adresse IP et votre user-agent, ainsi que
des statistiques relatives aux performances et à la sécurité, sont transmis à Google afin
d'assurer un service de qualité, de générer des statistiques d'utilisation, et de détecter et de
résoudre les problèmes d'[Link] savoir plusOK ! Programmation informatique corrige ces
exercices
ChatGPT

Vous aimerez peut-être aussi