Adloun

Corrigé CCINP 2026 Maths 1 MPI — Exercice I (Q1 à Q4) : Bases de données : élèves et paiements

Sujet officiel du concours CCINP, session 2026, épreuve Maths 1 MPI. Corrigé rédigé par Ibrahim Alame.

Sujet officiel (PDF, site du concours)

Énoncé

Deux tables. ELEVES(id, nom, prenom, email, promo) : clé primaire id, promo entier (année d'admission). PAIEMENTS(id, id_eleve, montant, date_paiement) : clé primaire id, id_eleve renvoie à ELEVES.id, montant entier (euros).

Q1. Emails distincts des élèves qui ne sont pas de la promotion 2025.
Q2. Nom, prénom et montant total payé par chaque élève, triés par nom puis prénom.
Q3. id et email des élèves dont la ligne figure au moins deux fois dans ELEVES (en ignorant l'attribut id).
Q4. id des élèves n'ayant effectué aucun paiement.

Corrigé

Q1. Une sélection (WHERE), une projection sur email, et l'élimination des doublons :


SELECT DISTINCT email
FROM ELEVES
WHERE promo <> 2025;

La clause WHERE ne conserve que les lignes dont l'année d'admission est différente de (l'opérateur de différence SQL est <>). Projeter sur la seule colonne email peut faire apparaître plusieurs fois la même adresse (deux lignes portant le même email, situation que Q3 envisage précisément) : SELECT DISTINCT supprime ces répétitions du résultat.

Ce que le correcteur attend : le mot-clé DISTINCT (sans lui, la consigne « sans doublons » n'est pas respectée) et l'opérateur <> ; le jury signale que ces deux points ont manqué dans beaucoup de copies.

Q2. Le nom et le prénom sont dans ELEVES, les montants dans PAIEMENTS : il faut une jointure selon la clé étrangère (PAIEMENTS.id_eleve = ELEVES.id) puis une agrégation par élève.


SELECT e.nom, e.prenom, SUM(p.montant) AS total
FROM ELEVES AS e
JOIN PAIEMENTS AS p ON p.id_eleve = e.id
GROUP BY e.id, e.nom, e.prenom
ORDER BY e.nom, e.prenom;

La jointure fabrique une ligne par paiement, complétée des informations de l'élève qui l'a réglé. Le GROUP BY rassemble ces lignes élève par élève. On groupe selon la clé e.id, et pas seulement selon (nom, prenom) : deux homonymes, qui sont deux élèves distincts, forment ainsi deux groupes et reçoivent chacun leur propre total. Les colonnes nom et prenom sont ajoutées au GROUP BY pour pouvoir être projetées à côté de l'agrégat SUM(p.montant), qui calcule la somme des montants du groupe. Enfin ORDER BY e.nom, e.prenom trie selon le nom, puis, à nom égal, selon le prénom.

100 % gratuit

La suite du corrigé est sur Adloun

Le corrigé rédigé en entier, question par question, et le tuteur pour poser des questions sur ce sujet.

Voir le corrigé complet, gratuitement

Inscription gratuite en 30 secondes (e-mail, nom d'utilisateur, mot de passe, classe ou profil), sans carte bancaire : arrivée directe sur le corrigé.

Toutes les parties de l'épreuve

Corrigé complet gratuit →