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

SQL

Transféré par

I M P O S NAOUMI
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 PDF ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
74 vues3 pages

SQL

Transféré par

I M P O S NAOUMI
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 PDF ou lisez en ligne sur Scribd
xercices : Langage SQL Exer fice 1 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, EmailDey, TelDev) Projet (NumProj, TitreProj, DateDeb, DateFin) Logiciel (CodLog, NomLog, PrixLog, #NumProj) Realisation (#NumProj, #NumDev) Eerire 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 ordre décroissant des prix. 3. Afficher le total des prix des logiciels du projet numéro 10, Lors de 'affichage, le titre de la colonne sera « coat 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 » a la date « 17/04/2022 ». Exercice Soit la base de données créer par le script SQL suivant “CREATE DATABASE (CREATE TABLE Client ( MWC CHAR) PRIMARYKEY, som CHAR(20), ville CHARG }) ENGINE=InnoDB, (CREATE TABLE Produit ( (CREATE TABL 1dPro. CHAR(6) PRIMARYKEY, Nom _ CHAR(0) NOT NULL UNIQUE, Marque CHAR(30), Prix DECIMAL(6,2) Qstock _ SMALLINT) ENGINE=InnoDB, Vente ( Wcl —CHAR(4) NOT NULL, Wipro CHAR(6) NOT NULL, date DATENOT NULL, ge sMALLINT NOT NULL. PRIMARY KEY (IdCi, IdPro), POREIGN KEY (LdCli) REFERENCES Client FOREIGN KEY (IdPro) REFERENCES Produit (ON DELETE CASCADE ON UPDATECASCADE) ENGINE sno Exprimer en SQL les requétes suivantes 1 me Donner les différentes marques de produit Lister les produits de marque IBM, Apple ou Asus. Donner les noms des clients qui ont acheté le produit ‘pl’ Donner les noms des produits qui n'ont pas été acheté. Donner les noms des clients ayant acheté un produit en quantité supérieure & chacune des quantités de produits achetées par le client ‘cl. Donner les noms des produits moins chers que la moyenne des prix de tous les produits. Supprimer les ventes des clients de Fes antérieures au O1-mar-2020, Solution : Exercice 1 1. Créer les tables « Projet » et « Logiciel ». préciser clairement les types des données. 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 On donne un nom & notre clé FOREIGN KEY (NumProj) Colonne sur laquelle on erée la clé REFERENCES Projet(NumProj) Solonne de référence ENGINE=InnoDB: 2. D’afficher les noms et les prix des logiciels appartenant au projet ayant comme titre « gestion de stock », triés dans ordre décroissant des prix. SELECT L NomLog, L-PuixLog FROM Logiciel L INNER JOIN Projet P ON [Link]=P NumPro] VHERE P-TiteProj="gestion,_de._stock )RDER BY [Link] DES 3. D’aflicher le total des prix des logiciels du projet numéro 10, Lors de I’affichage, le titre de la colonne sera « cours total du projet ». LECT SUM(PrixLog) as “cout, total_ du projet FROM Logiciel WHERE NumPRoj 4. Afficher le nombre de développeurs qui ont participé au projet intitulé « gestion de stock » SELECT count(*) [FROM Developpeur D INNER JOIN Realisation R ON [Link] INNER JOIN Projet P ON [Link]=R NumProj HERE [Link]="gestion _ de _ stock’ 5. Afficher les projets qui ont plus que 5 logiciels SELECT NumProj, TitreProj FROM Projet P INNER JOIN Logiciel L ON [Link]=L_NumPro} (GROUP BY NumProj, TitreProj HAVING count(*)>5 Les numéros et noms des développeurs qui ont participés dans tous les projets SELECT NumDev, NomDev FROM Developpeur D INNER JOIN Realisation R ON [Link]=R NumDev |GROUP BY NumDev, NomDev HAVING count(*}=(SELECT COUNT(*) FROM Proje Reporter la date de fin des projets dont le titre contient « Web » a la date « 17/04/2022 ». UPDATE Projet SET DateFin = "17/04/2022 WHERE TitreProj like “%Web%" ; Solution : Exercice 2 SELECT FROM SELECT FROM WHERE SELECT FROM WHERE SELECT FROM WHERE SELECT FROM WHERE SELECT FROM WHERE DELETE FROM WHERE DISTINCT Pmarque produit P produit P Pamarque IN (18M", ‘Apple’ Dec’) Crom clientc FaCKIN « SELECT Vldcir FROM vente V WHERE PldPro='p1" ) [Link] produit P NOT EXISTS (SELECT * FROM vente V WHERE [Link]= [Link]) vader verte V Vale >=ALL fi SELECT Wate WHERE Wleci='er" ’ [Link] produit Pt PA pric < ( SELECT AVG(P2 prix) FROM produit P2 vente date <‘01-mar-201° AND Idi IN SELECT C1dchi FROM client WHERE [Link] = Fes’

Vous aimerez peut-être aussi