github / codespaces-nextjs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Gestion des bases de données relationnelles

macdi011 opened this issue · comments

CREATE DATABASE sans;
USE sans;
CREATE TABLE wine(
num_w int primary key,
category varchar(30) not null,
year date,
degree float
);
CREATE TABLE producer(
num_p int primary key,
first_name varchar(30),
last_name varchar(20),
region varchar(50)
);
CREATE TABLE harvest(
num_w int foreign key references wine(num_w),
num_p int foreign key references producer(num_p),
category varchar(30),
date_h DATE,
quantity float);
INSERT INTO wine VALUES (3, 'vin rouge', '1980', 15), (2, 'vin mousseux', '1967', 12), (4,'vin rosé', '1988', 14),
(1,'vin blanc', '1989', 10), (5, 'vin rouge', '1987', 14), (6, 'vin blanc', '1980', 13), (7, 'vin rosé', '1989', 11);
SELECT* FROM wine;
INSERT INTO producer VALUES (12, 'pierre', 'leboeuf', 'sousse'), (2, 'Ousmane', 'niang', 'thies'), (4,'charles', 'mendy', 'sousse'),
(1,'victorine', 'belle', 'Ziguinchor'), (5, 'Diadie', 'dia', 'diourbel'), (14, 'alioune', 'samb', 'aquitaine'), (15, 'alioun', 'sami', 'occitanie');
SELECT* FROM producer;
INSERT INTO harvest VALUES (3, 12, 'vin rouge', '1980', 305), (2, 2,'vin mousseux', '1967', 255.5), (4, 4, 'vin rosé', '1988', 412),
(1,1 ,'vin blanc', '1989', 188), (5, 5, 'vin rouge', '1987', 987), (6,14, 'vin blanc','1980', 542), (7,15,'vin rosé', '1989', 222);
SELECT* FROM harvest;
// donnons la liste des producteurs
SELECT first_name, last_name FROM producer;
// donnons la liste des producteurs triés par nom
SELECT last_name FROM producer ORDER BY last_name;
// donnons la liste des producteurs de sousse
SELECT first_name,last_name FROM producer
where region = 'sousse';
// Calculer la quantité totale
SELECT SUM(quantity) AS Quantite FROM harvest where num_p= 12;

// la quantité totale par catégorie
SELECT SUM(quantity) AS Quantitetotale FROM harvest where category='vin rouge'
GROUP BY category;
SELECT SUM(quantity) AS Quantitetotale FROM harvest where category='vin blanc'
GROUP BY category;
SELECT SUM(quantity) AS Quantitetotale FROM harvest where category='vin mousseux'
GROUP BY category;
SELECT SUM(quantity) AS Quantitetotale FROM harvest where category='vin rosé'
GROUP BY category;
//
// les numéros de vin qui ont un dégré supérieur à 12
SELECT num_w FROM wine WHERE degree >12;