Trois interrogations d'un catalogue
Exercice d'entraînement · niveau 2 · mathématiques (ECT 1re année), chapitre 13 — Informatique et algorithmique · Bases de données
Énoncé
Avec les tables produits(ref, nom, categorie, prix) et ventes(num, ref_produit, quantite), écrire les requêtes qui donnent : (1) le nom de tous les produits qui ne sont pas de la catégorie 'papeterie' ; (2) le nom et le prix des produits dont le prix est compris entre et ; (3) le numéro des ventes de plus de unités.
Corrigé
La forme générale. SELECT choisit les colonnes, FROM la table, WHERE filtre les lignes. Chaque requête se termine par un point-virgule, et les chaînes de caractères s'écrivent entre apostrophes simples.
Première requête. « Ne pas être de la catégorie papeterie » s'écrit avec l'opérateur de différence <> :
SELECT nom FROM produits
WHERE categorie <> 'papeterie';
Deuxième requête. « Compris entre » est une conjonction de deux conditions, réunies par AND :
SELECT nom, prix FROM produits
WHERE prix >= 10 AND prix <= 50;
Troisième requête. Elle porte sur l'autre table :
SELECT num FROM ventes
WHERE quantite > 100;
Deux points délicats. D'abord, <> est la différence en SQL — ce n'est ni != ni not =. Ensuite, une condition « entre et » ne peut pas s'écrire 10 <= prix <= 50 : il faut deux comparaisons séparées reliées par AND, chacune complète et portant sur la colonne.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.