mirror of
https://github.com/ArthurDanjou/ArtStudies.git
synced 2026-01-14 15:54:13 +01:00
- Created a Docker Compose file to set up a MySQL container named M2_SQL_COURSE with an empty password and a database named TP. - Added a Makefile with a target to execute a SQL script (TP1.sql) inside the MySQL container and log the output. - Implemented the TP1.sql script to create tables for Magasin and Localite, insert initial data, and perform several queries.
51 lines
1.3 KiB
SQL
51 lines
1.3 KiB
SQL
DROP TABLE IF EXISTS Magasin;
|
|
DROP TABLE IF EXISTS Localite;
|
|
|
|
-- Q1.1
|
|
CREATE TABLE IF NOT EXISTS Magasin(
|
|
Id VARCHAR(3) PRIMARY KEY,
|
|
Enseigne VARCHAR(100) NOT NULL,
|
|
Ville VARCHAR(255) NOT NULL,
|
|
Chiffre INTEGER NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS Localite(
|
|
Ville VARCHAR(255) NOT NULL,
|
|
Population INTEGER NOT NULL
|
|
);
|
|
|
|
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 Ville, COUNT(*) AS NombreMagasins
|
|
FROM Magasin
|
|
GROUP BY Ville
|
|
ORDER BY Ville ASC;
|
|
|
|
-- Q1.3
|
|
SELECT Ville, Enseigne, COUNT(*) as NombreMagasins
|
|
FROM Magasin
|
|
GROUP BY Ville, Enseigne
|
|
HAVING NombreMagasins >= 2;
|
|
|
|
-- Q1.4
|