Vous êtes sur la page 1sur 2

15 Afficher le numéro et la date des commandes qui sont réalisées entre les dates : 10/01/2009 et 15/06/2009

SELECT commandes.num_cmd, commandes.date_cmd


FROM commandes
WHERE (((commandes.date_cmd) between #1/10/2009# and #6/15/2009#));

16 Afficher le numéro et la date des commandes faites au cours de l’année 2009 (utiliser la fonction année (date))
SELECT commandes.num_cmd, commandes.date_cmd
FROM commandes
WHERE (((Year ([date cmd]))=2009));

17 Afficher le numéro et la date des commandes non réglées et passées avant le 15 mai au cours de l’année 2009
SELECT commandes.num_cmd, commandes.date_cmd, commandes.cmd_réglée
FROM commandes
WHERE (((commandes.date_cmd)<#5/15/2009#) AND ((commandes.cmd_réglée) =Yes) AND ((Year ([date_cmd]))
=2009)) ;

18 Afficher le numéro et la date des commandes faites au cours de l’année 2009 dans les mois de mars, mai ou
juin (utiliser la fonction mois (date))
SELECT commandes.num_cmd, commandes.date_cmd, Month Name (Month ([date_cmd])) AS [nom du mois]
FROM commandes
WHERE (((Year([date_cmd]))=2009) AND ((Month([date_cmd]))=3)) OR (((Year([date_cmd]))=2009) AND
((Month([date_cmd]))=5)) OR (((Year([date_cmd]))=2009) AND ((Month([date_cmd]))=6));

19 Afficher le numéro et la date des commandes faites au premier de chaque mois au cours de l’année 2009 (utiliser
la fonction jour (date))
SELECT commandes.num_cmd, commandes.date_cmd, Day([date_cmd]) AS Expr1, Year([date_cmd]) AS Expr2
FROM commandes
WHERE (((Day ([date_cmd])) =1) AND ((Year ([date_cmd])) =2009));

20 Afficher le numéro et la date des commandes faites dans le mois courant (utiliser la fonction mois (date ())
SELECT commandes.num_cmd, commandes.date_cmd, Month ([date_cmd]) AS Expr1
FROM commandes
WHERE (((Month ([date_cmd])) =Month (Date ())));

21 Afficher le numéro, la date et la durée des commandes en nombre d’année (aaaa), trimestre (t),
SELECT commandes.num_cmd, commandes.date_cmd, DateDiff ("yyyy",[date_cmd],Date()) AS Expr1
FROM commandes;

22 Affichez "Fidèle" pour les commandes d’une quantité de plus de 10 produits « Pdt01 » et "Non Fidèle" pour les
autres. Utiliser la fonction Vrai Faux (condition; si vrai; si faux) (Et, Ou).
SELECT Détail_cmd.num_cmd, Détail_cmd.Q, Détail_cmd.ref_pdt, IIf ([ref_pdt]="pdt01","F","NF") AS Expr1
FROM Détail_cmd
WHERE (((Détail_cmd.Q)>10));

1 Afficher les clients d’une ville dont le nom est un paramètre.


SELECT client.Code_Client, client.ville
FROM client
WHERE (((client.ville)= [VILLE:]));

2 Afficher les commandes dont la quantité est inférieur ou égale à une valeur à spécifier par l’utilisateur
SELECT Det_cmd.Num_Cmd, Det_cmd.Qt
FROM Det_cmd
WHERE (((Det_cmd.Qt)<=[Quantitée:]));
3 Afficher le numéro, la date des commandes qui sont réalisées dans une période à déterminer par l’utilisateur
SELECT Cmd.Num_Cmd, Cmd.Date_Cmd
FROM Cmd
WHERE (((Cmd.Date_Cmd) between [date 1] and [date 2]));

Une requête avec jointure est une requête qui exploite plusieurs tables à la fois.

Afficher le code et le nom des clients de Casablanca qui ont réalisé des commandes avant 2010.
SELECT client.Code_Client, client.nom, client.ville, Cmd.Date_Cmd
FROM client INNER JOIN Cmd ON client.Code_Client = Cmd.Code_Client
WHERE (((client.ville)="RABAT") AND ((Cmd.Date_Cmd)<#1/1/2005#));

Afficher le code et le nom des clients de Casablanca qui ont commandé des produits dont le prix unitaire dépasse
150.
SELECT client.Code_Client, Cmd.Num_Cmd, Det_cmd.Ref, client.ville, Produit.PU
FROM (client INNER JOIN Cmd ON client.Code_Client = Cmd.Code_Client) INNER JOIN (Produit INNER JOIN Det_cmd ON
Produit.Ref = Det_cmd.Ref) ON Cmd.Num_Cmd = Det_cmd.Num_Cmd
WHERE (((client.ville)="rabat") AND ((Produit.PU)>150));

Afficher le nombre de clients par ville

SELECT Count(client.Code_Client) AS CompteDeCode_Client, client.ville


FROM client
GROUP BY client.ville;

Afficher la quantité moyenne, la quantité maximale et la quantité minimale de chaque commande.


SELECT Det_cmd.Num_Cmd, Avg(Det_cmd.Qt) AS MoyenneDeQt, Min(Det_cmd.Qt) AS MinDeQt, Max(Det_cmd.Qt) AS
MaxDeQt
FROM Det_cmd
GROUP BY Det_cmd.Num_Cmd;

Afficher la quantité moyenne, la quantité maximale et la quantité minimale de chaque produit commandé dans les 7
ans avant l’année courante
SELECT Det_cmd.Num_Cmd, Det_cmd.Qt, Det_cmd.Qt, Det_cmd.Qt, DateDiff ("yyyy",[Date_Cmd],(Date())) AS Expr2
FROM Cmd INNER JOIN Det_cmd ON Cmd.Num_Cmd = Det_cmd.Num_Cmd
WHERE (((DateDiff ("yyyy",[Date_Cmd],(Date())))<7));

Pour chaque commande, afficher le numéro, le montant hors taxe HT, et le montant TTC avec taux de TVA fixé à 20%
SELECT Cmd.Num_Cmd, Sum([PU]*[Qt]) AS MHT, Sum([PU]*[Qt]*(1+0.2)) AS MTTC
FROM Produit, Cmd INNER JOIN Det_cmd ON Cmd.Num_Cmd = Det_cmd.Num_Cmd
GROUP BY Cmd.Num_Cmd;