🎉
Bravo !
Clique pour continuer
👤

Continue avec ton email

Entre ton email pour recevoir ton email de connexion et retrouver ta progression quand tu reviens.

💡 Commence par les défis Tier 1 — SELECT, WHERE, ORDER BY. Chaque défi complété te donne de l'XP.

📚 Fondamentaux SQL

Les 6 concepts à maîtriser pour lire n'importe quelle requête

SELECT

Extraire des données

La base de toute requête. Choisis quelles colonnes afficher.

SELECT nom, ca FROM clients WHERE actif = 1
Cas : Quels clients sont actifs ?
WHERE

Filtrer les lignes

Garde uniquement les lignes qui correspondent à une condition.

SELECT * FROM commandes WHERE montant > 500 AND statut = 'livré'
Cas : Les commandes livrées de plus de 500€
GROUP BY

Agréger

Regroupe les lignes et calcule des totaux, moyennes, comptes.

SELECT region, SUM(ca) as total, COUNT(*) as nb FROM ventes GROUP BY region
Cas : CA par région
JOIN

Croiser les tables

Combine deux tables sur une clé commune.

SELECT c.nom, SUM(cmd.montant) as total FROM clients c JOIN commandes cmd ON c.id = cmd.client_id GROUP BY c.nom
Cas : CA par client
ORDER BY

Trier

Trie les résultats par une ou plusieurs colonnes.

SELECT produit, SUM(qte) as total FROM ventes GROUP BY produit ORDER BY total DESC LIMIT 10
Cas : Top 10 produits vendus
CASE WHEN

Conditions dans les requêtes

Crée une colonne calculée basée sur des conditions.

SELECT nom, ca, CASE WHEN ca > 10000 THEN 'Grand' WHEN ca > 2000 THEN 'Moyen' ELSE 'Petit' END as segment FROM clients
Cas : Segmenter les clients par CA

🎮 Défis SQL

💼 Missions Business

🧪 Sandbox libre

Explore les tables librement. Pas de validation, pas de limite.

📋 Schéma complet

🏆 Classement

Les meilleurs Data Analysts de CK Labs

#JoueurLigueXPChallengesMissions
Omar Keting
Ton mentor Data Strategy
👋 Salut ! Je suis Omar, ton mentor. Clique sur un challenge pour commencer !

📖 Aide-mémoire SQL

Structure d'une requête
SELECTColonnes à afficherSELECT name, city
FROMTable sourceFROM customers
WHEREFiltre les lignesWHERE status = 'completed'
GROUP BYRegroupe pour agrégerGROUP BY city
HAVINGFiltre après GROUP BYHAVING COUNT(*) > 5
ORDER BYTrie les résultatsORDER BY total DESC
LIMITNombre max de lignesLIMIT 10
Fonctions d'agrégation
COUNT(*)Nombre de lignes
SUM(col)Somme des valeurs
AVG(col)Moyenne
MAX / MINPlus grand / plus petit
ROUND(x, n)Arrondit à n décimales
Jointures
JOINLignes communesJOIN products ON o.product_id = p.id
LEFT JOINToutes les lignes de gauche + correspondances
Tables disponibles dans le lab
customers orders products web_sessions campaigns employees