Antisèche SQL

Retrouvez la bonne syntaxe, puis pratiquez-la.

Onze repères progressifs, des premières lectures aux fonctions fenêtre.

1. Lire et choisir

Contrôlez précisément les colonnes et lignes retournées.

ColonnesSELECT produit, prix FROM produits;
Valeurs uniquesSELECT DISTINCT categorie FROM produits;
LimiterLIMIT 10

2. Filtrer

Réduisez le périmètre avant d’analyser.

ConditionWHERE montant > 100
ListeWHERE ville IN ('Tunis', 'Sfax')
IntervalleWHERE montant BETWEEN 50 AND 200

3. Trier

Rendez un classement explicite et reproductible.

CroissantORDER BY date_commande ASC
DécroissantORDER BY montant DESC
Deux critèresORDER BY ville ASC, montant DESC

4. Agréger

Transformez des lignes en indicateurs.

CompterCOUNT(*)
TotalSUM(montant)
Par groupeGROUP BY ville
Filtrer les groupesHAVING SUM(montant) > 500

5. Relier des tables

Associez des entités grâce à leurs clés.

Présents des deux côtésINNER JOIN commandes c ON c.id_client = clients.id_client
Conserver la table gaucheLEFT JOIN commandes c ON c.id_client = clients.id_client

6. Gérer NULL

Une absence de valeur n’est ni zéro ni une chaîne vide.

TesterWHERE telephone IS NULL
RemplacerCOALESCE(telephone, 'Non renseigné')
Éviter division par zéromontant / NULLIF(quantite, 0)

7. Structurer une analyse

Décomposez une requête longue en étapes nommées.

CTEWITH ventes_ville AS (...) SELECT * FROM ventes_ville;
ConditionCASE WHEN montant >= 200 THEN 'Élevé' ELSE 'Standard' END

8. Analyser dans le temps

Préparez les indicateurs avancés du métier de Data Analyst.

MoisDATE_TRUNC('month', date_commande)
CumulSUM(montant) OVER (ORDER BY date_commande)
ClassementROW_NUMBER() OVER (PARTITION BY ville ORDER BY montant DESC)

9. Manipuler du texte

Nettoyez et assemblez des libellés sans perdre les valeurs absentes.

AssemblerCONCAT(prenom, ' ', nom)
CasseLOWER(email)
NettoyerTRIM(reference)
ExtraireSUBSTRING(code FROM 1 FOR 3)

10. Comprendre l’ordre et les erreurs

SQL évalue logiquement FROM, WHERE, GROUP BY, HAVING, SELECT, ORDER BY puis LIMIT.

Colonne inconnueVérifier le schéma et l’orthographe
Erreur GROUP BYRegrouper ou agréger chaque colonne sélectionnée
Division par zéroUtiliser NULLIF(diviseur, 0)
SyntaxeVérifier virgules, parenthèses et guillemets simples

11. Repérer les différences de syntaxe

Une même opération peut s’écrire différemment selon l’outil utilisé.

LimiterIci et MySQL : LIMIT · SQL Server : TOP
ConcaténerIci : || · MySQL : CONCAT · SQL Server : +
Date couranteIci : CURRENT_DATE · MySQL : CURDATE() · SQL Server : GETDATE()

La syntaxe se mémorise en pratiquant.

Utilisez l’éditeur libre ou choisissez un exercice guidé avec validation.