Exercices SQL corrigés, notion par notion
Mis à jour le
Voici 196 exercices SQL corrigés, tirés des questions de SpeedQL et classés selon les 16 notions du jeu. Chaque exercice donne l’énoncé, les tables de départ, un indice, la solution et le résultat attendu, calculé avec SQLite. Essaie d’abord d’écrire ta requête, puis ouvre la correction.
Les 16 notions SQL
- Exercices SQL corrigés : SELECT, alias et DISTINCT
4 exercices corrigés, du niveau 1 au niveau 1. SELECT choisit les colonnes à afficher ; AS renomme une colonne, DISTINCT retire les doublons. - Exercices SQL corrigés : WHERE et les filtres
15 exercices corrigés, du niveau 1 au niveau 4. WHERE garde les lignes qui respectent une condition : =, <>, >, BETWEEN, IN, LIKE, AND, OR, NOT. - Exercices SQL corrigés : ORDER BY et LIMIT
6 exercices corrigés, du niveau 1 au niveau 2. ORDER BY trie (ASC croissant, DESC décroissant) ; LIMIT garde les n premières lignes. - Exercices SQL corrigés : COUNT, SUM, AVG, MIN, MAX
3 exercices corrigés, du niveau 1 au niveau 2. Les agrégats résument plusieurs lignes en une valeur : COUNT, SUM, AVG, MIN, MAX. - Exercices SQL corrigés : GROUP BY
15 exercices corrigés, du niveau 2 au niveau 3. GROUP BY calcule un résumé par groupe : une ligne de résultat par valeur de la colonne. - Exercices SQL corrigés : les jointures (JOIN)
15 exercices corrigés, du niveau 2 au niveau 8. JOIN relie deux tables par une colonne commune ; LEFT JOIN garde aussi les lignes sans correspondance. - Exercices SQL corrigés : HAVING
12 exercices corrigés, du niveau 2 au niveau 3. HAVING filtre les groupes après GROUP BY (WHERE, lui, filtre les lignes avant). - Exercices SQL corrigés : les sous-requêtes
15 exercices corrigés, du niveau 2 au niveau 8. Une sous-requête est une requête dans une requête : une valeur, une liste (IN) ou une table. - Exercices SQL corrigés : CASE WHEN
15 exercices corrigés, du niveau 4 au niveau 7. CASE choisit une valeur selon des conditions, ligne par ligne. - Exercices SQL corrigés : NULL et COALESCE
14 exercices corrigés, du niveau 4 au niveau 8. NULL = valeur absente : on la teste avec IS NULL / IS NOT NULL ; COALESCE la remplace. - Exercices SQL corrigés : UNION, INTERSECT, EXCEPT
11 exercices corrigés, du niveau 4 au niveau 4. UNION réunit deux résultats (sans doublon), INTERSECT garde ce qu’ils ont en commun, EXCEPT retire le second du premier. - Exercices SQL corrigés : les fonctions texte et dates
15 exercices corrigés, du niveau 2 au niveau 8. Textes et dates : UPPER, LOWER, LENGTH, SUBSTR, ||, LIKE, strftime, julianday, date. - Exercices SQL corrigés : les CTE (WITH)
15 exercices corrigés, du niveau 5 au niveau 8. WITH donne un nom à une requête intermédiaire, qu’on réutilise ensuite comme une table. - Exercices SQL corrigés : EXISTS et NOT EXISTS
15 exercices corrigés, du niveau 5 au niveau 8. EXISTS est vrai si la sous-requête renvoie au moins une ligne ; NOT EXISTS, si elle n’en renvoie aucune. - Exercices SQL corrigés : les fonctions de fenêtre
15 exercices corrigés, du niveau 6 au niveau 8. Les fonctions de fenêtre calculent sur un groupe de lignes sans les regrouper : ROW_NUMBER, RANK, DENSE_RANK, LAG, LEAD, SUM() OVER… - Exercices SQL corrigés : les CTE récursives
11 exercices corrigés, du niveau 7 au niveau 8. Une CTE récursive s’appelle elle-même pour générer une suite ou parcourir une hiérarchie. Toujours prévoir une condition d’arrêt.
Pour aller plus loin : l’aide-mémoire SQL résume chaque notion, et les exercices personnalisés vérifient tes requêtes en direct, avec toutes les questions du jeu.