Prepa Help
Prepa Help › Cours › Informatique, 2e année

Requêtes SQL sur une table : création, sélection, tri et mise à jour, cours, méthodes et exercices corrigés pour les ECS, ECT et ECG

Vocabulaire des bases relationnelles et rôle des clés, création d'une table, requêtes de sélection sur une table (SELECT, WHERE, opérateurs, DISTINCT, ORDER BY), insertion, modification et suppression de lignes, exécution sous SQLite et depuis Python, avec des cas tirés des sujets du CNAEM, de la BCE, d'ECRICOME et des concours scientifiques.

Les nombres sont ceux du chapitre complet ; chaque filière voit la partie qui correspond à son programme.

Une requête SQL sur une table répond à trois questions, dans cet ordre d'écriture : quoi (les colonnes, après SELECT), dans quelle table (après FROM), à quelle condition (après WHERE) ; on ajoute ORDER BY pour trier (DESC pour l'ordre décroissant) et DISTINCT pour supprimer les doublons. Exemple : SELECT nom, prix FROM article WHERE prix >= 100 ORDER BY prix DESC; affiche le nom et le prix des articles d'au moins 100 DH, du plus cher au moins cher. Pour modifier la table, INSERT INTO ajoute des lignes, UPDATE ... SET ... WHERE les modifie et DELETE FROM ... WHERE les supprime ; sans WHERE, ces deux derniers ordres touchent toutes les lignes. Quatre règles évitent la plupart des erreurs de copie : une chaîne entre apostrophes ('Fes'), une case vide se teste par IS NULL et jamais par = NULL, une division entre entiers est entière sous SQLite (écrire 1.0 * devant), une date s'écrit 'AAAA-MM-JJ'. Ce chapitre d'informatique de deuxième année couvre le SQL sur une table de l'ECS2 et de l'ECT2 au Maroc (programme fondé sur SQLite, avec IN, BETWEEN, LIKE, la limitation d'affichage en ECS2 et les fonctions de date strftime et julianday en ECT2) et de l'ECG (mathématiques appliquées) et de l'ECT en France. Il prépare aux questions SQL du CNAEM (épreuve « Gestion, management et informatique » de la filière ECT), des sujets de mathématiques de la BCE et d'ECRICOME, où les rapports de jury disent que ces questions rapportent beaucoup de points. La page propose un cours avec des schémas, des méthodes avec la requête type à écrire sur la copie, des exercices corrigés dont chaque requête a été exécutée sous SQLite, et des sujets réels du CNAEM, de la BCE, d'ECRICOME et du CNC corrigés pas à pas.

Ce que tu sauras faire

Une base de données ne sert que si l'on sait lui poser des questions et la tenir à jour. Ce chapitre apprend à le faire sur une seule table, avec le langage SQL et le logiciel SQLite. À la fin, tu dois savoir :

L'essentiel : Les ordres du chapitre Extrait gratuit

Un extrait de la fiche « L'essentiel » du chapitre. Les démonstrations sont dans le cours détaillé.

CREATE TABLE produit (
    ref_produit TEXT PRIMARY KEY NOT NULL,
    designation TEXT NOT NULL,
    categorie TEXT,
    prix INTEGER,
    poids_g INTEGER,
    stock INTEGER,
    seuil INTEGER,
    date_ajout TEXT
);

INSERT INTO produit
VALUES ('P01', 'Miel de thym', 'Miel',
        120, 500, 14, 10, '2024-03-12');

INSERT INTO produit (ref_produit, designation, stock)
VALUES ('P11', 'Amlou aux amandes', 40);

SELECT designation, prix
FROM produit
WHERE prix >= 100 AND prix <= 200
ORDER BY prix DESC, designation;

SELECT DISTINCT categorie
FROM produit;

UPDATE produit
SET stock = stock - 3
WHERE ref_produit = 'P01';

DELETE FROM produit
WHERE stock = 0;

Ordre d'écriture : SELECT, FROM, WHERE, ORDER BY. Ordre d'évaluation : FROM, WHERE, SELECT, DISTINCT, ORDER BY.

Une méthode du chapitre Extrait gratuit

Un exercice corrigé Extrait gratuit

Dans le chapitre complet

Le cours détaillé, toute la fiche « L'essentiel », 16 méthodes, 22 pièges corrigés, la carte mentale, 48 exercices corrigés, 8 problèmes de concours, les fiches à mémoriser et l'assistant qui répond à tes questions. Ce chapitre est offert : il s’ouvre en entier avec un compte d’essai gratuit.

Ouvrir l'essai gratuit

Plan du cours

Les méthodes du chapitre

Chaque méthode est une fiche : quand l'utiliser, le rappel de cours, les étapes, la rédaction attendue sur la copie, un exemple traité, les erreurs à éviter.

  1. Lire une table et justifier une clé primaire
  2. Écrire un CREATE TABLE simple
  3. Insérer des lignes avec INSERT INTO
  4. Traduire une demande en SELECT ... FROM ... WHERE
  5. Écrire une condition
  6. Supprimer les doublons avec DISTINCT
  7. Trier avec ORDER BY
  8. Calculer une colonne sans division entière
  9. Comparer et trier des dates en texte
  10. Modifier des lignes avec UPDATE
  11. Supprimer des lignes après avoir testé la condition
  12. Exécuter une requête à la main et la vérifier
  13. Traiter une partie SQL d'un sujet de concours
  14. Utiliser IN, BETWEEN et LIKE
  15. Limiter l'affichage avec LIMIT et OFFSET
  16. Extraire et calculer sur une date avec SQLite

Les exercices corrigés

Chaque exercice a ses indications, sa correction rédigée et ce qu'il faut en retenir.

Application directe (18)

Entraînement (23)

Approfondissement (7)

Les problèmes de concours

Des extraits de sujets réels, corrigés en entier, avec la durée conseillée et les méthodes mobilisées.

Questions fréquentes

Comment écrire une requête SQL avec SELECT, WHERE et ORDER BY ?

On écrit les clauses dans cet ordre : SELECT (les colonnes à afficher), FROM (la table), WHERE (la condition sur les lignes), ORDER BY (le tri). Exemple : SELECT titre, annee FROM livre WHERE langue = 'arabe' ORDER BY annee DESC;. Une requête n'a qu'un seul WHERE : deux conditions se relient par AND ou OR.

Comment trier par ordre décroissant en SQL ?

Avec ORDER BY colonne DESC. Sans DESC, le tri est croissant. Avec deux colonnes, ORDER BY prix DESC, nom trie par prix décroissant, puis par nom pour départager les prix égaux. Sans ORDER BY, aucun ordre n'est garanti.

Pourquoi WHERE colonne = NULL ne renvoie rien ?

NULL marque une valeur inconnue : une comparaison avec NULL n'est ni vraie ni fausse, et WHERE ne garde que les lignes où la condition est vraie. Pour trouver les cases vides, on écrit WHERE colonne IS NULL. Cette forme n'est nommée par aucun programme, mais elle est indispensable dès qu'une table a des valeurs manquantes.

Pourquoi une division donne 0 en SQL ?

Sous SQLite, la division de deux entiers est entière : 7 / 2 vaut 3 et 3 / 20 vaut 0. Pour garder les décimales, on rend l'un des termes réel : 1.0 * val / taille. C'est le piège du ratio dans le sujet Mines-Ponts 2025 et des proportions dans les sujets ECRICOME.

Quelle différence entre DELETE et DROP TABLE ?

DELETE FROM t WHERE ... supprime des lignes ; sans WHERE, il vide la table, qui reste créée. DROP TABLE t supprime la table elle-même. Avant un DELETE ou un UPDATE, on teste la même condition dans un SELECT pour voir les lignes visées.

Le SQL est-il au programme des ECS, ECT et ECG ?

Au Maroc, oui, dans la matière Informatique de l'ECS2 et de l'ECT2, avec le logiciel SQLite. En France, le SQL est au programme de l'ECT dès la première année et des mathématiques appliquées de l'ECG en deuxième année, pas des mathématiques approfondies ; DISTINCT et ORDER BY y sont non exigibles mais paraissent dans les sujets.

Comment réussir les questions SQL du CNAEM, de la BCE et d'ECRICOME ?

Lire le schéma de la table et recopier les noms de colonnes lettre par lettre ; écrire une requête par question, une clause par ligne, mots-clés en majuscules ; mettre les chaînes entre apostrophes ; signaler sur la copie une coquille de l'énoncé. Ces questions sont rapides et rapportent beaucoup de points : ne les laisse pas pour la fin.

Comment y accéder

Ce chapitre fait partie des chapitres offerts : il s'ouvre en entier avec un compte d'essai gratuit. Créer un compte d'essai ou se connecter. Pour l'accès complet, les tarifs ou une question, écris-nous sur WhatsApp.

Toute ta prépa au même endroit

Pour chaque chapitre : le cours, l'essentiel, les méthodes, les pièges, les exercices corrigés, les problèmes de concours, et un assistant qui répond à tes questions. Programmes du Maroc et de France. Avec la plateforme vidéo YOUNESS SCHOOL offerte, dès 600 DH (60 $) par mois, sans engagement.

Prépas scientifiques : voir l'offrePrépas ECS et ECT : voir l'offreTu hésites encore ? Essaie gratuitement Prepa Help.

← Systèmes d'information et conception d'une base : MCD, MLD et modèle relationnel · Requêtes SQL sur plusieurs tables : jointures, agrégation, groupement et sous-requêtes →