Le SQL a ceci de particulier qu'il ne s'apprend pas en regardant. Une requête se comprend quand on l'écrit, qu'on se trompe, et qu'on voit revenir trois lignes au lieu de trente. Encore faut-il avoir une base à interroger.
Le SQL est l'un des langages les plus accessibles qu'on puisse enseigner : sa syntaxe se lit presque comme une phrase, et un débutant produit une requête utile en quelques minutes. L'obstacle est ailleurs.
Avant d'écrire un seul SELECT, il faut une base de données à disposition. Et c'est là que les formations SQL perdent leur première demi-journée :
DELETE maladroit casse le jeu de données de tout le groupe.La solution la plus simple consiste à donner à chacun sa propre base, dans son navigateur, déjà remplie. Personne n'installe rien, personne ne casse le travail des autres, et un DROP TABLE malheureux ne coûte qu'un rechargement de page.
Le choix du jeu de données pèse plus lourd qu'on ne l'imagine sur la réussite d'une formation. Une base trop riche oblige à expliquer le métier avant d'expliquer le langage ; une base trop pauvre ne permet aucune jointure intéressante.
Le modèle qui fonctionne partout tient en quatre tables : des clients, des produits, des commandes, et les lignes de ces commandes. Tout le monde en comprend le sens sans préambule, et cette structure suffit à couvrir l'essentiel du programme :
Gardez le volume modeste : une dizaine de lignes par table. Un résultat qu'on peut lire en entier à l'écran permet de vérifier par soi-même que la requête a fait ce qu'on croyait.
La progression classique des manuels suit l'ordre de la syntaxe. L'ordre qui fonctionne en salle suit plutôt la difficulté réelle, et elle ne se situe pas là où on l'attend.
Commencez par lire, pas par écrire. Une requête déjà rédigée, qu'on exécute et dont on observe le résultat, installe l'essentiel : une requête rend un tableau. Faites-la ensuite modifier — changer une ville, ajouter un tri — avant d'en faire écrire une de zéro.
Introduisez la jointure tôt. C'est contre-intuitif, mais la jointure est le cœur du SQL et la source de la plupart des blocages. La repousser en fin de programme laisse croire que le reste est acquis, alors que la moitié du groupe cale dès la première.
Gardez GROUP BY pour la fin. Le regroupement demande de penser en ensembles plutôt qu'en lignes : c'est un vrai saut conceptuel, qui mérite du temps et des exemples visuels.
Trois malentendus reviennent dans chaque groupe, quel que soit le niveau. Les anticiper fait gagner une heure.
FROM, aucune condition de liaison, et la requête rend le produit de toutes les lignes. Le résultat est énorme et personne ne comprend pourquoi. Montrez-le volontairement une fois : c'est la démonstration la plus efficace.Ces trois cas ont un point commun : la requête ne plante pas. Elle rend un résultat faux, silencieusement. D'où l'importance de travailler sur un jeu de données assez petit pour qu'on puisse vérifier le résultat à l'œil.
Le SQL se prête particulièrement bien à la correction collective : une requête tient en quelques lignes, et le résultat est immédiatement visible par tous.
Le dispositif le plus efficace consiste à projeter votre propre écran pendant que chacun travaille dans le sien. Vous écrivez une requête, elle apparaît chez eux ; ils l'adaptent sans avoir à la recopier de mémoire. Au moment de corriger, montrez d'abord le résultat attendu — le tableau, pas la requête. Le groupe cherche alors le chemin, ce qui est exactement l'exercice.
Gardez le corrigé écrit à l'avance mais masqué, et ne le révélez qu'après. Un corrigé visible trop tôt transforme un exercice de raisonnement en exercice de recopie.
Une base dans le navigateur couvre tout ce qu'on interroge. Elle ne couvre pas ce qu'on administre, et c'est une distinction qu'il vaut mieux poser clairement devant le groupe.
Restent à traiter dans un environnement réel : les droits et les utilisateurs, les sauvegardes, l'optimisation et les index sur des volumes conséquents, les transactions concurrentes, et les différences de dialecte entre moteurs. Ces sujets relèvent du métier d'administrateur plus que de l'écriture de requêtes.
Pour une initiation, une remise à niveau ou un module SQL dans une formation plus large, le navigateur suffit largement — et il libère la demi-journée qu'on passait à installer.
Installer un environnement sur vingt postes mange le début de chaque séance. Voici comment faire écrire et exécuter du code dans le navigateur, ce que ça permet vraiment, et où sont les limites.
Prise en mainUn exercice écrit une fois devrait resservir dix fois. Voici comment monter une banque qu'on retrouve, sans y consacrer plus de temps qu'on n'en gagne.
AnimationLe déroulé qu'on rédige pour un dossier et celui qu'on garde sous les yeux en salle n'ont pas le même contenu. Voici comment écrire le second.
Créez votre première salle interactive en moins de 5 minutes. Plan gratuit, sans carte bancaire.
Démarrer gratuitement