Systèmes d'information de gestion · Terminale STMGBac
Langage SQL : exercices corrigés de Terminale STMG
Publié le 11 novembre 2026 · Mis à jour le 11 novembre 2026 · Signaler une erreur
L'essentiel
- SQL (Structured Query Language) est le langage de requêtes des bases de données relationnelles 2.
- select … from fait une projection : on choisit les colonnes. where fait une sélection : on choisit les lignes 3.
- Le SQL permet aussi de manipuler les données (créer, lire, modifier, supprimer) et d'administrer la base 3.
- Une requête SQL décrit le résultat voulu, pas la manière de le calculer 3.
- Méthode : lis la question, repère les colonnes, repère la condition, puis écris la requête dans l'ordre select, from, where.
Comment utiliser ces exercices
Ces exercices s'appuient sur le modèle relationnel, que tu as vu juste avant : une base est faite de tables, chaque table a des colonnes (les attributs) et des lignes (les enregistrements). Ici, tu apprends à interroger une table avec le langage SQL.
Tous les exercices utilisent la même table, nommée produit, d'une petite papeterie. Elle compte six lignes.
| id | nom | categorie | prix (€) | stock |
|---|---|---|---|---|
| 1 | Cahier | Papeterie | 3 | 40 |
| 2 | Stylo | Papeterie | 2 | 100 |
| 3 | Sac | Bagagerie | 25 | 8 |
| 4 | Trousse | Papeterie | 6 | 0 |
| 5 | Calculatrice | Electronique | 18 | 12 |
| 6 | Agenda | Papeterie | 9 | 15 |
Bien s'organiser pendant les exercices
Avant de taper une requête, prends l'habitude de la préparer sur papier. Écris d'abord la question dans tes propres mots, puis souligne ce qui désigne les colonnes et ce qui désigne la condition. Un énoncé qui parle de « nom et prix » renvoie à la projection ; un énoncé qui parle de « seulement les produits de papeterie » ou « dont le prix dépasse 9 € » renvoie à la sélection 3.
Les exercices
Exercice 1 Choisir des colonnes
Avec la table produit, écris la requête qui affiche uniquement le nom et le prix de tous les produits. Dis ensuite combien de lignes et de colonnes contient le résultat.
Indice 1
Les colonnes demandées se placent après select, séparées par une virgule.
Indice 2
Sans condition, aucune ligne n'est écartée.
Voir la correction pas à pas
La question demande deux colonnes :
nometprix. C'est une projection.La table interrogée est
produit.Aucune condition n'est donnée : pas de clause where.
La requête est :
select nom, prix from produit;Le résultat garde toutes les lignes de la table, soit 6 lignes, et 2 colonnes.
Une requête sans where renvoie toutes les lignes ; seul le select limite les colonnes.
Exercice 2 Compter les produits de papeterie
On exécute select nom from produit where categorie = 'Papeterie';. Combien de lignes le résultat contient-il ?
Indice 1
Parcours la colonne categorie et compte les lignes qui valent exactement Papeterie.
Voir la correction pas à pas
Le
wheregarde seulement les lignes dont la catégorie est'Papeterie'.On parcourt la table : Cahier, Stylo, Trousse et Agenda sont en papeterie.
Sac (Bagagerie) et Calculatrice (Electronique) sont écartés.
Le résultat contient donc 4 lignes, avec une seule colonne : le nom.
Le where fait une sélection de lignes ; le select ne règle que les colonnes.
Exercice 3 Écrire une condition sur un nombre
Écris la requête qui affiche le nom des produits dont le prix est supérieur ou égal à 9 €. Indique ensuite quels noms apparaissent.
Indice 1
Une condition sur un nombre s'écrit sans apostrophes.
Indice 2
Le signe « supérieur ou égal » s'écrit >=.
Voir la correction pas à pas
Colonne demandée :
nom. Table :produit.Condition sur le prix :
prix >= 9, sans apostrophes car c'est un nombre.La requête est :
select nom from produit where prix >= 9;On teste chaque ligne : Sac (25) oui, Calculatrice (18) oui, Agenda (9) oui, Trousse (6) non, Cahier (3) non, Stylo (2) non.
Le résultat affiche Sac, Calculatrice et Agenda.
Avec >=, la valeur 9 est incluse : l'Agenda fait partie du résultat.
Exercice 4 Deux conditions à la fois
On exécute select nom from produit where categorie = 'Papeterie' and stock > 0;. Combien de produits sont renvoyés ?
Indice 1
Avec and, une ligne doit respecter les deux conditions en même temps.
Indice 2
La Trousse a un stock de 0.
Voir la correction pas à pas
Première condition : la catégorie est Papeterie. Il reste Cahier, Stylo, Trousse, Agenda.
Seconde condition : le stock est strictement supérieur à 0.
Cahier (40), Stylo (100) et Agenda (15) la respectent ; la Trousse (0) non.
Le résultat contient donc 3 produits.
Avec and, le résultat est plus petit qu'avec une seule condition : il faut les deux.
Exercice 5 Trier et limiter
On exécute select nom, prix from produit order by prix desc limit 2;. Quels produits sont affichés ? Calcule la somme de leurs prix, en euros.
Indice 1
order by prix desc classe du plus cher au moins cher.
Indice 2
limit 2 ne garde que les deux premières lignes du classement.
Voir la correction pas à pas
Classement par prix décroissant : Sac (25), Calculatrice (18), Agenda (9), Trousse (6), Cahier (3), Stylo (2).
La limite garde seulement les deux premières lignes : Sac et Calculatrice.
Somme des prix : .
Le résultat affiche deux lignes et la somme demandée vaut 43 €.
Le tri s'applique avant la limite : on garde les deux plus chers, pas deux lignes au hasard.
Exercice 6 Reconnaître les opérations CRUD
Pour chaque action, dis s'il s'agit de créer, lire, modifier ou supprimer des données :
- ajouter un nouveau produit « Gomme » à la table ;
- afficher les produits d'une catégorie ;
- changer le prix de l'Agenda ;
- retirer la Trousse de la table.
Indice 1
CRUD correspond à Create, Read, Update, Delete 3.
Indice 2
Afficher des données ne les change pas.
Voir la correction pas à pas
Ajouter une ligne : c'est créer (Create).
Afficher des produits : c'est lire (Read), comme avec
select.Changer un prix existant : c'est modifier (Update).
Retirer une ligne : c'est supprimer (Delete).
Seule la lecture laisse la table intacte ; les trois autres opérations la changent.
Exercice 7 Mettre à jour le stock
La papeterie reçoit une livraison : on exécute update produit set stock = stock + 20 where categorie = 'Papeterie';. Calcule le stock total de la catégorie Papeterie avant, puis après la mise à jour. Donne la valeur après, en unités.
Indice 1
Avant : additionne les stocks des quatre produits de papeterie.
Indice 2
Après : chaque produit de papeterie gagne 20 unités.
Voir la correction pas à pas
Le
wheredésigne quatre lignes : Cahier, Stylo, Trousse, Agenda.Stock avant : unités.
Chaque ligne concernée gagne 20 unités, soit unités en tout.
Stock après : unités.
Les lignes Sac et Calculatrice ne changent pas, car elles ne vérifient pas la condition.
Sans where, la mise à jour toucherait toute la table : la condition protège les autres lignes.
Exercice 8 Corriger une requête fausse
Un élève veut afficher le nom des produits de la catégorie Bagagerie. Il écrit : select nom from produit where categorie = Bagagerie. Trouve les deux défauts et écris la bonne requête.
Indice 1
Regarde comment est écrite la valeur de texte.
Indice 2
Regarde la toute fin de la requête.
Voir la correction pas à pas
Défaut 1 :
Bagagerieest un texte, il doit être entre apostrophes :'Bagagerie'. Sans elles, le système cherche une colonne de ce nom.Défaut 2 : la requête ne se termine pas par un point-virgule, qui marque par convention la fin d'une requête SQL.
Requête corrigée :
select nom from produit where categorie = 'Bagagerie';Résultat attendu : une seule ligne, Sac.
Quand une requête échoue, relis d'abord les apostrophes et la ponctuation, puis l'ordre select, from, where.
Les questions qu'on se pose
Quelle différence entre projection et sélection ?
Dois-je savoir écrire du SQL de mémoire pour l'examen ?
Le SQL est le langage de requêtes associé au modèle relationnel 2. Entraîne-toi à lire une requête et à écrire des requêtes simples (select, from, where). Cherche d'abord la table, puis les colonnes, puis la condition : cette méthode évite la plupart des oublis.
Comment vérifier qu'une requête est correcte sans ordinateur ?
Applique-la à la main sur la table : écarte les lignes qui ne respectent pas le where, garde seulement les colonnes du select, puis trie et limite si la requête le demande. Compare enfin le nombre de lignes obtenu avec ce que la question laisse attendre. Cette lecture pas à pas est exactement celle que demande un exercice de lecture de requête.
Sources
- Ressources Éduscol - Contenus relatifs aux données massives, Éduscol. Consulté le 11 novembre 2026.
- Annexe 31 - Systèmes d'information de gestion (Spécialité Terminale STMG), Éduscol. Consulté le 11 novembre 2026.
- Bases de données et SQL - Introduction, CNRS/LIRIS. Consulté le 11 novembre 2026.
Les numéros dans le texte renvoient à ces sources. Une source qui ne dit pas ce qu'on lui fait dire ? Signale-le.