SQL au quotidien : les requêtes que vous utiliserez vraiment
Un guide de survie pour ne plus avoir peur de la console SQL. Les commandes essentielles pour filtrer, trier et trouver ce que vous cherchez.

Les cours de SQL vous apprennent à construire des bases de données complexes. Mais dans la vraie vie de développeur, 90% du temps, on veut juste vérifier une info rapidement.
"Est-ce que mon utilisateur a bien été créé ?", "Pourquoi cette commande n'a pas de prix ?", "Combien de comptes sont actifs ?".
Pour cela, pas besoin d'être un DBA certifié. Voici votre trousse à outils de survie.
LIMIT – L'échantillon prudent
SELECT * FROM orders LIMIT 5;
Si votre table fait 10 millions de lignes, faire un SELECT * sans LIMIT, c'est comme essayer de boire à la lance à incendie.
Règle d'or : Toujours commencer par un
LIMITquand on découvre une table. Ça évite de faire planter son client SQL (ou le serveur).
ORDER BY – Mettre de l'ordre
SELECT * FROM users ORDER BY created_at DESC;
Par défaut, l'ordre des résultats est... imprévisible.
DESC (descendant) est votre meilleur ami pour voir les derniers éléments créés (les plus récents).
Pour voir les nouveaux inscrits, c'est la commande réflexe.
DISTINCT – L'anti-doublon
SELECT DISTINCT country FROM users;
Vous voulez savoir quels sont les pays présents dans votre base, sans voir "France" apparaître 5000 fois ? DISTINCT ne garde que les valeurs uniques.
C'est le "Set" du SQL.
LIKE – La recherche floue
SELECT * FROM products WHERE name LIKE '%café%';
Vous ne connaissez pas le nom exact ? Le % est un joker qui remplace "n'importe quoi".
%café: finit par cafécafé%: commence par café%café%: contient café (n'importe où)
Indispensable quand on cherche "ce bug bizarre sur le produit dont le nom ressemble à..."
IS NULL – Chercher le vide
SELECT * FROM users WHERE phone_number IS NULL;
Piège classique : On ne peut pas écrire WHERE phone = NULL. En SQL, NULL n'est pas une valeur, c'est l'absence de valeur. On ne peut pas être "égal" à l'absence. On "est" l'absence.
Utilisez
IS NOT NULLpour faire l'inverse (chercher ceux qui ont bien un numéro).
IN – La liste VIP
SELECT * FROM orders WHERE status IN ('PENDING', 'PAID', 'SHIPPING');
Fini les WHERE status = '...' OR status = '...' OR ....
Propre, net et lisible.
COUNT – Le compteur rapide
SELECT COUNT(*) FROM users;
Combien j'ai d'utilisateurs ? Pas besoin de les récupérer et de compter les lignes dans votre tête.
Le kit de survie complet
Vous cherchez le dernier utilisateur "Jean" qui s'est inscrit mais qui n'a pas encore validé son email ?
SELECT *
FROM users
WHERE pseudo LIKE '%Jean%'
AND email_verified_at IS NULL
ORDER BY created_at DESC
LIMIT 1;
Avec ça, vous couvrez l'immense majorité de vos besoins quotidiens de débogage et de vérification.
Pas besoin de plus compliqué pour être efficace.