2023-01-09 15:32:48 +01:00

88 lines
1.6 KiB
SQL

--1 Ajouter une colonne intitulée “categorie_id” à la table contenant les commandes. Cette colonne contiendra une valeur numérique.
ALTER TABLE
commandes
ADD
categorie_id INT(10) UNSIGNED DEFAULT NULL
;
--2 Enregistrer la valeur de la catégorie, en suivant les règles suivantes (en une seule requête) :
UPDATE commandes
SET categorie_id =
CASE
WHEN
commande_cache_prix_total < 200
THEN 1
WHEN
commande_cache_prix_total BETWEEN 200 AND 500
THEN 2
WHEN
commande_cache_prix_total BETWEEN 500 AND 1000
THEN 3
ELSE 4
END
;
--3 Créer une table intitulée “categories” qui contiendra le descriptif de ces catégories.
CREATE TABLE categories (
categorie_id INT(10) UNSIGNED PRIMARY KEY,
categorie_description VARCHAR(255)
)
;
INSERT INTO
categories (
categorie_id,
categorie_description
)
VALUES
(1, 'Moins de 200€'),
(2, 'Entre 200€ et 500€'),
(3, 'Entre 500€ et 1.000€'),
(4, 'Supérieures à 1.000€')
;
--4 Créer la clé étrangère entre la table “categories” et la colonne “categorie_id” de la table “commandes”.
SELECT
FROM
INNER JOIN
ON
WHERE
GROUP BY
ORDER BY
LIMIT
;
--5 Insérer les 4 descriptifs de chaque catégorie au sein de la table précédemment créée.
SELECT
FROM
INNER JOIN
ON
WHERE
GROUP BY
ORDER BY
LIMIT
;
--6 Supprimer toutes les commandes (et les lignes des commandes) inférieures au 1er février 2019. Cela doit être effectué en 2 requêtes maximum.
SELECT
FROM
INNER JOIN
ON
WHERE
GROUP BY
ORDER BY
LIMIT
;