td pratique à SQL

Telechargé par Ayoub taouil
Exercice pratique à SQL
Préparation
1. Créez en Access une base de données Supermarché.accdb qui contiendra uniquement la table suivante.
Nom du champ Type de données
idProduit Number (Long Integer)
Libellé Text [20]
Catégorie Text [20]
Prix Currency
QuantitéDisponible Number (Long Integer)
2. Sauvegardez la table sous le nom Produits
3. Entrez les données suivantes
Créez les requêtes suivantes en Access
Requête 1
Affichez le libellé et le prix de tous les produits.
Requête 2
Insérez le produit suivant.
Requête 3
Affichez les différentes catégories de produits. Veillez à ce que chaque catégorie ne soit affichée qu'une seule fois.
Requête 4
Affichez tous les champs disponibles pour tous les produits.
Requête 5
Affichez le libellé, le prix et la quantité disponible de tous les fromages. Transformez ensuite
la requête en requête paramétrée
Requête 6
Affichez tous les champs disponibles pour les produits dont la quantité en stock est inférieure
à 100.
Requête 7
Augmentez de 10 la quantité disponible du produit 'Schmiri'
Requête 8
Effacez tous les produits de la catégorie 'Lait'.
Requête 9
Affichez le numéro de produit, le libellé et la catégorie de tous les produits dont le nom de catégorie contient le
mot 'alcool'.
Requête 10
Affichez le libellé, la catégorie et le prix de tous les produits dont le nom de catégorie contient uniquement 4
lettres.
Requête 11
Affichez le libellé et la quantité disponible de tous les produits à l'exception des fromages.
Requête 12
Affichez toutes les informations pour les chocolats dont la quantité disponible est supérieureou égale à 10.
Requête 13
Affichez le libellé et le prix des produits plus chers que 25 qui ne sont pas des cafés.
Requête 14
Affichez le numéro de produit, le libellé et la catégorie pour les fromages et les boissons sansalcool.
Requête 15
Affichez le libellé, la catégorie et le prix pour les produits moins chers que 25 qui appartiennent aux catégories
'Chocolat' ou 'Fromage'.
Requête 16
Requête 17
Affichez le numéro, le libellé et le prix pour tous les produits dont le prix varie entre 12 et25.
Requête 18
Affichez toutes les informations pour les produits des catégories 'Café', 'Boisson sans alcool','Fromage' et
'Chocolat'.
Requête 19
Affichez le numéro, le libellé et la quantité disponible de tous les produits. Triez la liste parordre ascendant sur la
quantité disponible.
Requête 20
Affichez le libellé et le prix des produits qui sont disponibles au moins 100 fois. Triez la listepar ordre descendant
sur le prix.
Requête 21
Affichez une liste avec le libellé, la catégorie et le prix de tous les produits à l'exception des fromages. Triez la
liste par ordre alphabétique sur la catégorie et pour chaque catégorie par ordre décroissant (descendant) sur le prix.
Requête 22
Affichez la moyenne des prix pour les produits moins chers que 25.
Requête 23
Affichez la quantité totale des fromages en stock.
Requête 24Combien de produits existent qui coûtent plus chers que 30 ?
Requête 25
Calculez la valeur actuelle en stock pour tous les produits à l'exception des chocolats.
CORRECTION SQL
create table produits(idporduit number primary key, libellé text(20),prix currency, Catégorie text(20), QuantitéDisponible number )
Requête 1
Affichez le libelléet le prix de tous les produits.
SELECT libellé, prix,
FROM produits!;
Requête 2
Insérez le produit suivant.
INSERT INTO produits VALUES (16, 'Tirlititi', 'sucre', 13.80, 19)
Requête 3
Affichez les différentes catégories de produits. Veillez à ce que chaque catégorie ne soit affichée qu'une seule fois.
SELECT DISTINCT catégories
FROM produits!;
Requête 4
Affichez tous les champs disponibles pour tous les produits.
SELECT *
FROM produits!;!
Requête 5
Affichez le libellé, le prix et la quantité disponible de tous les fromages. Transformez ensuitela requête en requête paramétrée
SELECT libellé, prix , QuantitéDisponible
FROM produits!
WHERE catégorie ='fromage';
SELECT libellé, prix , QuantitéDisponible FROM produits
WHERE catégorie=[Indiquez la catégorie]; requête paramétrée
Requête 6
Affichez tous les champs disponibles pour les produits dont la quantité en stock est inférieureà 100.
SELECT *
FROM produits!
WHERE QuantitéDisponible<100;!
Requête 7
Augmentez de 10 la quantité disponible du produit 'Schmiri'
UPDATE produits!
SET QuantitéDisponible = QuantitéDisponible +10
WHERE Libellé='Schmiri';
Requête 8
Effacez tous les produits de la catégorie 'Lait'.
DELETE FROM produits
WHERE ='Lait';
Requête 9
Affichez le numéro de produit, le libellé et la catégorie de tous les produits dont le nom de catégorie contient le mot 'alcool'.
SELECT idproduit, libellé, catégorie
FROM produits
WHERE catégorie LIKE '% alcool';
Requête 10
Affichez le libellé, la catégorie et le prix de tous les produits dont le nom de catégorie contient uniquement 4 lettres.
SELECT idproduit, libellé, catégorie
FROM produits
WHERE catégorie LIKE '????';
Requête 11
Affichez le libellé et la quantité disponible de tous les produits à l'exception des fromages.
SELECT libellé, QuantitéDisponible
FROM produits
WHERE NOT catégorie =' fromages ';
ou
SELECT libellé, QuantitéDisponible
FROM produits
WHERE catégorie<>' fromages ';
Requête 12
Affichez toutes les informations pour les chocolats dont la quantité disponible est supérieureou égale à 10.
SELECT *
FROM produits
WHERE catégorie =' chocolats ' AND QuantitéDisponible >10;
Requête 13
Affichez le libellé et le prix des produits plus chers que 25 qui ne sont pas des cafés.
SELECT libellé, Prix
FROM produits
WHERE NOT catégorie =' cafés ' and prix>25;
OU
SELECT libellé, Prix
FROM produits
WHERE catégorie<>' cafés ' and prix>25;
Requête 14
Affichez le numéro de produit, le libellé et la catégorie pour les fromages et les boissons sansalcool.
SELECT idproduit, libellé, catégorie
FROM produits
WHERE catégorie=' fromages ' or catégorie=' boissons sans alcool '
Requête 15
Affichez le libellé, la catégorie et le prix pour les produits moins chers que 25 qui appartiennent aux catégories 'Chocolat' ou 'Fromage'.
SELECT libellé, prix, catégorie
FROM produits
WHERE prix<25 and (catégorie=' fromages ' or catégorie=' boissons sans alcool ')
Requête 16
INSERT INTO produits
VALUES (17, 'Smörebröd', 'pain', NULL, 0);
ou
INSERT INTO produits(idproduit, libellé, catégorie,prix, QuantitéDisponible)
VALUES (17, 'Smörebröd', 'pain', NULL, 0);
Requête 17
Affichez le numéro, le libellé et le prix pour tous les produits dont le prix varie entre 12 et25.
SELECT idproduit, libellé, prix
FROM produits
WHERE f prix BETWEEN 12 AND 25;
Requête 18
Affichez toutes les informations pour les produits des catégories 'Café', 'Boisson sans alcool','Fromage' et 'Chocolat'.
SELECT *
FROM produits
WHERE catégorie IN ('Café', 'Boisson sans alcool', 'Fromage' , 'Chocolat');
Requête 19
Affichez le numéro, le libellé et la quantité disponible de tous les produits. Triez la liste par ordre ascendant sur la quantité disponible.
SELECT idproduit, libellé, prix, QuantitéDisponible
FROM produits
ORDER BY QuantitéDisponible;
Requête 20
Affichez le libellé et le prix des produits qui sont disponibles au moins 100 fois. Triez la liste par ordre descendant sur le prix.
SELECT libellé, prix,
FROM produits
WHERE QuantitéDisponible>=100
ORDER BY prixdesc;
Requête 21
Affichez une liste avec le libellé, la catégorie et le prix de tous les produits à l'exception des fromages. Triez la liste par ordre alphabétique sur la
catégorie et pour chaque catégorie par ordre décroissant (descendant) sur le prix.
Requête 22(correspond à l'exemple 1 chap. 7.2.11)
Affichez la moyenne des prix pour les produits moins chers que 25.
SELECT AVG(Prix) AS 'Moyenne des prix'
FROM produits
WHERE prix<=25;
Requête 23
Affichez la quantité totale des fromages en stock.
SELECT SUM (QuantitéDisponible) AS 'stock de fromages'
FROM produits
WHERE catégorie ='fromages'
Requête 24
Combien de produits existent qui coûtent plus chers que 30 ?
SELECT COUNT(*) AS 'nombre produits'
FROM produits
WHERE prix>30;
Requête 25
Calculez la valeur actuelle en stock pour tous les produits à l'exception des chocolats.
SELECT SUM(Prix * QuantitéDisponible) AS 'Valeur actuelle du stock'
FROM produits
Where catégorie <>'chocolats';
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !