Huit parcours, une centaine d'exercices, une sandbox PostgreSQL réelle. On écrit la requête, on voit immédiatement si elle est juste — et sinon, pourquoi.
Chaque exercice s'exécute contre une vraie base PostgreSQL. Tu tapes la requête, le résultat apparaît. Aucune simulation, aucune syntaxe simplifiée — ce que tu écris ici fonctionne en production.
Les exercices utilisent des tables d'effectifs, de salaires, de contrats et de commandes — les structures que les analystes croisent vraiment, sur de vraies données RH tout au long du cursus.
Quand ta requête ne retourne pas le bon résultat, tu reçois une analyse écrite de ce qui cloche — l'erreur identifiée, une piste pour avancer, sans la solution toute faite. Pas de conversation : tu corriges, tu retentes.
Un cursus complet pour maîtriser PostgreSQL en contexte analytique. Chaque parcours se termine par une énigme ouverte — une enquête sur les données où tu poses toi-même les questions.
Un parcours en préparation — SQL pour la BI et la production.
Parcours 7 · Classements et fenêtres · Exercice 15
La direction veut identifier, pour chaque département, les deux employés les mieux payés parmi ceux gagnant au moins 7 000 CHF.
WITH classement AS ( SELECT e.nom, e.salaire, e.dept_id, DENSE_RANK() OVER (PARTITION BY e.dept_id ORDER BY e.salaire DESC) AS rang FROM employes e WHERE e.salaire >= 7000 ) SELECT c.nom, c.salaire, d.nom AS departement FROM classement c INNER JOIN departements d ON c.dept_id = d.id WHERE c.rang <= 2 ORDER BY d.nom, c.salaire DESC
| nom | salaire | departement |
|---|---|---|
| Dupont | 9 800 CHF | Direction |
| Laurent | 7 000 CHF | Finance |
| Petit | 7 800 CHF | Informatique |
| Meier | 7 400 CHF | Informatique |
| Blanc | 7 100 CHF | Marketing |
| Durand | 7 200 CHF | Ventes |
Dès le premier parcours, les exercices te demandent de raisonner sur tes données — pas de recopier une syntaxe.