Vous êtes sur la page 1sur 3

TD1 : Série 3 SQL pour MySQL

I. Création de la base de données Exoboutique :

CREATE DATABASE EXOBOUTIQUE ;

1. Création de la table personne et son insertion :

CREATE TABLE Personne (

NumAch INT (4) primary key,

Nom VARCHAR (30),

Age INT (3),

Ville VARCHAR (40),

Sexe CHAR (1)

);

INSERT INTO personne VALUES(1,'Nestor',96,'Bamako','M');

INSERT INTO personne VALUES (2,'Irma',20,'Ségou','F');

INSERT INTO personne VALUES (3,'Henri',45,'Bamako','M');

INSERT INTO personne VALUES (4,'Josette',34,'Mopti','F');

INSERT INTO personne VALUES (5,'Jacques',50,'Kayes','M');

INSERT INTO Personne (NumAch,Nom,Ville) VALUES(100,'Essai', 'Bamako');

2. Création de la table voiture et ses insertions

CREATE TABLE VOITURE(

NumVoit int(4) primary key,

Marque varchar(30),

Type varchar(30),

couleur varchar(40)

);

INSERT INTO VOITURE VALUES(1,'Peugeot','404','Rouge') ;

INSERT INTO VOITURE VALUES (2,'Citroen','SM','Noire') ;

INSERT INTO VOITURE VALUES (3,'Opel','GT','Blanche') ;

INSERT INTO VOITURE VALUES (4,'Peugeot','403','Blanche') ;

INSERT INTO VOITURE VALUES (5,'Renault','Alpine A310','Rose') ;

INSERT INTO VOITURE VALUES (6,'Renault','Floride','Bleue') ;

3. Création de la table vente et ses insertions


CREATE TABLE VENTE(

DateVente DATE,

Prix FLOAT,

NumVoit INT,

NumAch INT

);

INSERT INTO Vente VALUES ('1985-12-3',10000,1,1);

INSERT INTO Vente VALUES ('1996-3-30',70000,2,4);

INSERT INTO Vente VALUES ('1998-6-14',30000,4,1);

INSERT INTO Vente VALUES ('2000-4-2',45000,5,2);

4. Modification du prix de vente (+10%) des voitures :

UPDATE vente SET prix=prix*(1+0.1) ;

5. Trouvez les différentes villes des personnes par ordre décroissant :

SELECT DISTINCT ville FROM Personne ORDER BY ville DESC ;

6. Chiffre d'affaire :

SELECT (SUM(prix)+ SUM (prix)*0.02) as CA_TT FROM vente;

7. Age moyen des personnes se trouvant à Bamako :

SELECT AVG(age) AS Moyenne_Age_Bamako FROM Personne WHERE ville='Bamako';

8. Nombre de voiture par marque :

SELECT Marque, COUNT(Marque) AS nb_marq from voiture GROUP BY marque;

9. Age des personnes qui n'habitent pas à Bamako :

SELECT age FROM Personne WHERE ville <> ('Bamako');

10. Produit cartésien table voiture et table personne :

SELECT * FROM voiture, Personne ;

Le produit cartésien compte 25 lignes et 9 colonnes et l’opération est symétrique.

11. Les noms des personnes et la marque des voitures qu’elles ont achetées :

SELECT Nom,marque FROM Personne, Voiture , Vente WHERE Personne.NumAch and


voiture.NumVoit=vente.NumVoit;

12. Les villes où habitent les personnes qui n’ont pas acheté de voiture :

SELECT DISTINCT ville FROM Personne WHERE NumAch not in (SELECT NumAch from vente);

13. La moyenne des prix de vente des voitures par marque :


SELECT AVG (prix) moy_prix,marque

FROM vente ve join voiture vo on (vo.NumVoit=ve.NumVoit)

GROUP BY marque

HAVING moy_prix>40000;

14. Les prix qui sont supérieurs à la moyenne :


SELECT prix FROM vente WHERE prix > (SELECT AVG (prix) from vente);
15. Les personnes qui n’ont pas achetés de voitures rouges :

SELECT nom FROM Personne p WHERE numAch not in (Select v.NumVoit FROM
Voiture,vente v WHERE voiture.NumVoit=v.NumVoit AND couleur=’Rouge’)r AND
r.NumAch=p.NumAch;

Vous aimerez peut-être aussi