LANGAGE DE MANIPULATION DE DONNEES
Soit la BD suivante :
Client(cin, nom, email, age, adresse, tel)
Article (numarticle, libellé, PU, QteStock, DLC)
Commande(numcde, datecommande,datelivraison, #cin)
Details_cde(numligne,numcde#,numarticle#,qtecde)
1- Afficher tous les clients.
SELECT * FROM Client;
2- Afficher les noms des clients qui habitent Tunis.
SELECT nom FROM Client
WHERE adresse=''Tunis''
3- Afficher tous les clients qui habitent Tunis par ordre croissant des noms.
SELECT * FROM Client
WHERE adresse=''Tunis''
ORDER BY (nom) ASC;
4- Afficher tous les clients qui habitent Tunis par ordre décroissant des noms.
SELECT * FROM Client
WHERE adresse=''Tunis''
ORDER BY (nom) DESC;
5- Afficher les noms des clients dont le 2ème caractère est la lettre T.
SELECT nom FROM Client
WHERE nom LIKE ''_T%''
ORDER BY (nom) DESC;
6- Afficher tous les articles dont le mois de la DLC est 2 et l’année de la DLC est 2024.
SELECT * FROM Article
WHERE YEAR(DLC)=2024 AND MONTH(DLC)=2;
7- Afficher tous les articles dont la DLC est comprise entre 01/02/2025 et 30/04/205.
SELECT * FROM Article
WHERE DLC BETWEEN ''2025-02-01'' AND ''2025-04-30''.
8- Afficher les adresses des clients sans redondance.
SELECT DISTINCT (adresse) FROM Client;
9- Afficher le nombre de commandes.
SELECT COUNT(numcde) FROM Commande;
10- Afficher le nombre de villes des clients.
SELECT COUNT(DISTINCT(adresse)) FROM Client;
11- Afficher le nombre de clients qui n’ont pas des adresses email.
SELECT COUNT(*) FROM Client
WHERE email IS NULL ;
12- Afficher le nombre de commandes du client qui a pour cin=11111111.
SELECT COUNT(numcde) FROM Client
WHERE cin=''111111111'';
13- Afficher la somme des Qte Stock.
SELECT SUM(Qte Stock) FROM Article;
14- Afficher le libellé, la somme des Qte Stock par libellé.
1
LANGAGE DE MANIPULATION DE DONNEES
SELECT libellé, SUM (Qte Stock) AS Somme
FROM Article
GROUP BY libellé;
15- Afficher le libéllé et la somme des Qte Stock>=20 par libellé.
SELECT libelle, SUM(QteStock) as somme
from article
GROUP by libelle
HAVING sum(QteStock)>=20;
SELECT libelle, SUM(QteStock) as somme
from article
GROUP by libelle
HAVING somme>=20;
16- Afficher les numcde dont la différence entre la date commande et la date livraison =2.
SELECT datecommande, datelivraison
FROM Article
WHERE DATEDIFF(datelivraison, datecommande)=2 ;