42 points par civilian 2026-04-05 | 7 commentaires | Partager sur WhatsApp

SQL : on ne progresse vraiment qu’en l’apprenant sur de vraies données

Les tutoriels SQL sont nombreux. Mais la plupart s’arrêtent à des exemples avec trois tables employees.

Ce n’est pas ce qu’on rencontre en situation réelle. On se retrouve avec 21 tables liées par des clés étrangères, il faut extraire l’évolution mensuelle du chiffre d’affaires à partir de 10 ans de données de commandes,
et identifier les clients à risque de churn.

C’est pour cela que j’ai créé ceci.

https://github.com/civilian7/sql-tutorial — apprendre SQL avec une base de données e-commerce réaliste

Le projet simule 10 ans de données d’une boutique informatique :

  • 21 tables, 18 vues, 5 triggers — un schéma de niveau professionnel
  • de 230 000 à 10 millions de lignes — un générateur de données avec taille au choix
  • 21 leçons — de SELECT jusqu’aux fonctions de fenêtre, CTE récursives et triggers
  • 111 exercices — 45 débutant, 36 intermédiaire, 30 avancé
  • prise en charge complète du coréen et de l’anglais — données et documentation bilingues
  • comparaison des dialectes SQL — SQLite, MySQL, PostgreSQL, SQL Server, Oracle

Les données sont réalistes. Le chiffre d’affaires augmente pendant le Black Friday, les commandes diminuent en été, et les 20 % de meilleurs clients représentent 60 % du chiffre d’affaires.

Il y a aussi 25 % des clients qui s’inscrivent sans jamais passer commande.

pip install -r requirements.txt
python generate.py --size small
# output/tutorial.db 생성 (SQLite, ~29MB)

C’est un projet créé par un développeur qui n’est pas expert SQL. S’il y a des erreurs ou de meilleures approches, merci de les signaler via Issues/PR.

GitHub: https://github.com/civilian7/sql-tutorial

7 commentaires

 
civilian 2026-04-10

Nous avons lancé la version 2.0, avec des fonctionnalités largement renforcées.

 
bbulbum 2026-04-08

C’est un excellent projet.

 
huiya 2026-04-08

Oh, c’est génial.

 
sygys10293 2026-04-08

Je l’utilise avec énormément de satisfaction, donc je voulais laisser un message. Pour l’instant, il n’y a encore que l’option de sortie sqlite. J’attends postgresql.
Merci d’avoir créé un outil aussi excellent

 
mbh023 2026-04-07

Gooood

 
jhk0530 2026-04-05

Veuillez le publier sur Show ~

 
civilian 2026-04-05

C’est quelque chose que j’ai commencé à créer pour le proposer comme exemple de base dans le navigateur de requêtes que je développe.
Le code et la documentation ont été rédigés par une IA (Claude).