mirror of
https://github.com/ArthurDanjou/ArtStudies.git
synced 2026-01-14 13:54:06 +01:00
87 lines
2.0 KiB
SQL
87 lines
2.0 KiB
SQL
DROP TABLE IF EXISTS Magasin;
|
|
DROP TABLE IF EXISTS Localite;
|
|
|
|
-- Q1.1
|
|
CREATE TABLE IF NOT EXISTS Localite(
|
|
Ville VARCHAR(255) NOT NULL,
|
|
Population INTEGER NOT NULL,
|
|
|
|
CONSTRAINT Localite_PK PRIMARY KEY (Ville)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS Magasin(
|
|
Id VARCHAR(3),
|
|
Enseigne VARCHAR(100) NOT NULL,
|
|
Ville VARCHAR(255) NOT NULL,
|
|
Chiffre DECIMAL(10,2) NOT NULL,
|
|
|
|
CONSTRAINT Magasin_FK FOREIGN KEY (VILLE) REFERENCES Localite(Ville),
|
|
CONSTRAINT Magasin_PK PRIMARY KEY (Id)
|
|
);
|
|
|
|
INSERT INTO Localite (Ville, Population) VALUES
|
|
('Créteil', 92984),
|
|
('Pantin', 60597),
|
|
('Colombes', 87328);
|
|
|
|
INSERT INTO Magasin (Id, Enseigne, Ville, Chiffre) VALUES
|
|
('D10', 'Super Discount', 'Créteil', 2800000),
|
|
('I10', 'Inter Prix', 'Créteil', 1230000),
|
|
('T01', 'Leader Trade', 'Créteil', 830000),
|
|
('M01', 'Discount Market', 'Créteil', 1010000),
|
|
('T08', 'Leader Trade', 'Pantin', 3230000),
|
|
('D20', 'Super Discount', 'Pantin', 556000),
|
|
('D22', 'Super Discount', 'Colombes', 4032000),
|
|
('T05', 'Leader Trade', 'Colombes', 2780000),
|
|
('I17', 'Inter Prix', 'Colombes', 3912000),
|
|
('M87', 'Discount Market', 'Colombes', 1471000),
|
|
('M89', 'Discount Market', 'Colombes', 845000);
|
|
|
|
SELECT * FROM Magasin;
|
|
SELECT * FROM Localite;
|
|
|
|
-- Q1.2
|
|
SELECT 'Q1.2';
|
|
|
|
SELECT Ville, COUNT(*) AS NombreMagasins
|
|
FROM Magasin
|
|
GROUP BY Ville
|
|
ORDER BY Ville ASC;
|
|
|
|
-- Q1.3
|
|
SELECT 'Q1.3';
|
|
|
|
SELECT Ville, Enseigne, COUNT(*) as NombreMagasins
|
|
FROM Magasin
|
|
GROUP BY Ville, Enseigne
|
|
HAVING NombreMagasins >= 2;
|
|
|
|
-- Q1.4
|
|
SELECT 'Q1.4';
|
|
|
|
SELECT Enseigne, AVG(Chiffre) AS ChiffreMoyen
|
|
FROM Magasin
|
|
GROUP BY Enseigne;
|
|
|
|
-- Q1.5
|
|
SELECT 'Q1.5';
|
|
|
|
SELECT Enseigne, AVG(Chiffre) AS ChiffreMoyen
|
|
FROM Magasin m, Localite l
|
|
WHERE m.Ville = l.Ville AND l.Population >= 80000
|
|
GROUP BY Enseigne;
|
|
|
|
-- Q1.6
|
|
SELECT 'Q1.6';
|
|
|
|
SELECT Ville, SUM(Chiffre) as ChiffreAffaire
|
|
FROM Magasin
|
|
GROUP BY Ville;
|
|
|
|
-- Q1.7
|
|
SELECT 'Q1.7';
|
|
|
|
SELECT Ville, SUM(Chiffre) as ChiffreAffaire
|
|
FROM Magasin
|
|
WHERE Chiffre > 1000000
|
|
GROUP BY Ville; |