Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

Corrigé Série 5

-- partie A-----
#Q1--
select * from Article where prix_vente >= prix_achat * 2;
#Q2--
select * from Article where couleur <> 'rouge' or prix_vente >= prix_achat * 2;
#Q3--
select * from Article where (couleur = 'rouge' and prix_vente >= 250) or couleur = 'bleu';
#Q4--
select prix_vente - prix_achat as marge_beneficiere from Article;
#Q5--
select prix_vente - prix_achat as marge_beneficiere from Article having marge_beneficiere
> 100 order by marge_beneficiere desc;
#Q6--
select * from Article order by prix_vente desc limit 1;
-- ou bien ---------------
select * from Article where prix_vente=(select max(prix_vente) as max_prix from Article);
#Q7--
select couleur, avg(prix_vente) as 'prix moyenne' from Article group by couleur order by
couleur;
#Q8--
select code_cat, count(code_art) as nb_articles from Article group by code_cat order by
articles;
#Q9--
select code_art, sum(qte_cdée) as qte_total from detail_commande group by code_art;
#Q10--
select count(num_com) as nbr_commande from commande where month(date_com) = 04
and year(date_com) = 2022;
#Q11--Pour quels articles de la commande numéro 11 la quantité commandée dépasse 10 ?
select code_art from detail_commande where num_com = 11 and qte_cdée>10;
#Q12--
select code_cat, sum(prix_vente) as somme_prix from article group by code_cat order by
somme_prix;
-- Partie B-----------
#Q13--
select date_com from commande c join detail_commande d on c.num_com = d.num_com
where d.code_art = 'A400' and qte_cdée > 4;
#Q14----
select c.* from commande c join detail_commande d on c.num_com = d.num_com
join article a on d.code_art = a.code_art where a.prix_achat between 150 and 200;
#Q15---
select a.* from article a join detail_commande d on a.code_art = d.code_art
join commande c on d.num_com = c.num_com where a.couleur not in ('bleue', 'blanche',
'rouge') and month(c.date_com) = 9;
#Q16---
select code_art, nom_a from article where qte_stock > (select avg(qte_stock) from article);
#Q17---
select c.code_cli, sum(a.prix_vente * d.qte_cdée) as chiffre_affaire from commande c join
detail_commande d on c.num_com = d.num_com join article a on d.code_art = a.code_art
group by c.code_cli;
#Q18---
select month(c.date_com) as mois, sum(a.prix_vente * d.qte_cdée) as chiffre_affaire
from commande c join detail_commande d on c.num_com = d.num_com join article a on
d.code_art = a.code_art group by month(c.date_com);
#Q19---
select * from client where code_cli not in(select code_cli from commande
where month(commande.date_com)= 9 and year(commande.date_com)= 1998);
#Q20---Quel est le nom des clients qui ont commandé en aout et en octobre ?
select * from client where code_cli in(select code_cli from commande where
month(date_com) = 8 or month(date_com) = 10);
#Q21-----Proposer deux solutions : (donnez la liste des codes client ayant fait au moins une
commande)
#Sol1----------
select code_cli,count(*) as nb from commande
group by code_cli having nb>= 1;
#Sol2-------
select code_cli from client where code_cli in(select code_cli from commande);
#Sol3------
select c.code_cli from client c join commande d on c.code_cli=d.code_cli
#Q22---Rechercher tous les articles dont le prix de vente est supérieur à celui de l’article de
code A100
select * from article where prix_vente > (select prix_vente from article where code_art =
'A100');
#Q23--Donnez la liste de tous les articles dont le prix d’achat est supérieur au prix
#d’achat de l’article A600. Ordonner le résultat par prix d’achat
select * from article where prix_achat > (select prix_achat from article where code_art =
'A600') order by prix_achat;
#Q24--Rechercher les articles de même couleur que l’article de code A100 et dont le
#prix de vente est supérieur ou égal au prix de vente moyen de tous les articles
select * from article where couleur=(select couleur from article where code_art = 'A100')
and prix_vente >=(select avg(prix_vente) from article);
#Q25--
select * from article where nom_a like 'ar%' and code_cat in (select code_cat from catégorie
where nom_cat in ('beauté', 'alimentaire'));
#Q26--
delete from detail_commande where qte_cdée = 0;
#Q27--
update article set nom_a = 'bureau', prix_vente = 1300 where code_art = 123;
#Q28--Augmenter par 10% la quantité commandée des articles commandés avant le
#10/04/2023
update detail_commande set qte_cdée = qte_cdée * 1.10 where
num_com in (select num_com from commande where date_com < '2023-04-10');
#Q29--
update article set couleur = upper(couleur) where code_art in (select code_art from
detail_commande where num_com in (select num_com from commande where code_cli in
(select code_cli from client where ville_c = 'Fès')));
#Q30--
update article a1,article a2 set a1.code_cat=a2.code_cat where a1.code_art=321 and
a2.code_art=123
#Q31--
delete from article where code_art not in (select code_art from detail_commande);
#Q32--
delete from catégorie where code_cat not in (select code_cat from article);

You might also like