🔒 Connexion

← Tous les articles
Base de données

SELECT et WHERE : les bases des requêtes SQL (guide débutant)

27 juillet 2026 · par Romain RICHER

Interroger une base de données commence presque toujours par le même mot : SELECT. C’est l’ordre SQL qui permet de lire des données — afficher des colonnes, filtrer des lignes, trier un résultat. Si vous débutez en SQL, maîtriser SELECT et sa clause WHERE est la première étape, et de loin la plus utile : la grande majorité des requêtes du quotidien ne sont que des variations autour de ces deux mots-clés.

Ce guide pose les bases pas à pas, avec des exemples concrets et leur résultat. Une fois ces fondations acquises, vous pourrez aborder des notions plus avancées comme les jointures ou le regroupement avec GROUP BY.

Le jeu de données d’exemple

Les exemples s’appuient sur une table employes :

id nom service salaire ville
1 Martin Informatique 3200 Paris
2 Durand Comptabilité 2800 Lyon
3 Petit Informatique 3600 Paris
4 Moreau Marketing 2500 Lyon
5 Leroy Informatique 4100 Nantes

SELECT : choisir les colonnes

La forme la plus simple sélectionne toutes les colonnes avec l’étoile :

SELECT * FROM employes;

Cela renvoie la table entière. Mais en pratique, on précise les colonnes voulues — c’est plus clair, plus rapide, et plus robuste si la table évolue :

SELECT nom, salaire FROM employes;

Résultat :

nom salaire
Martin 3200
Durand 2800
Petit 3600
Moreau 2500
Leroy 4100

Bonne habitude : évitez SELECT * en production. Nommer les colonnes documente votre intention et évite de transférer des données inutiles.

Renommer avec AS

Le mot-clé AS donne un nom d’affichage à une colonne (un alias), utile pour rendre le résultat lisible ou nommer un calcul :

SELECT nom AS employe,
       salaire AS remuneration_mensuelle
FROM employes;

Les en-têtes du résultat deviennent employe et remuneration_mensuelle. On peut aussi faire un calcul directement : SELECT nom, salaire * 12 AS salaire_annuel.

WHERE : filtrer les lignes

C’est le cœur du filtrage. WHERE ne conserve que les lignes qui satisfont une condition. Pour les employés de l’Informatique :

SELECT nom, service
FROM employes
WHERE service = 'Informatique';

Résultat :

nom service
Martin Informatique
Petit Informatique
Leroy Informatique

Notez les apostrophes simples autour de 'Informatique' : le texte se met toujours entre quotes simples. Les nombres, non : WHERE salaire = 3200.

Les opérateurs de comparaison

Au-delà de l’égalité, WHERE accepte tous les opérateurs classiques :

Opérateur Signification Exemple
= égal salaire = 3200
<> ou != différent service <> 'Marketing'
> < >= <= comparaisons salaire >= 3000

Par exemple, les employés gagnant au moins 3000 € :

SELECT nom, salaire
FROM employes
WHERE salaire >= 3000;

Résultat : Martin (3200), Petit (3600) et Leroy (4100).

Combiner les conditions : AND, OR, NOT

On enchaîne plusieurs conditions avec AND (toutes vraies) et OR (au moins une vraie). Les employés de l’Informatique gagnant plus de 3500 € :

SELECT nom
FROM employes
WHERE service = 'Informatique'
  AND salaire > 3500;

Résultat : Petit et Leroy. Attention à la priorité : AND est évalué avant OR. En cas de doute, utilisez des parenthèses pour lever toute ambiguïté :

WHERE (service = 'Informatique' OR service = 'Marketing')
  AND ville = 'Lyon';

Les opérateurs pratiques : IN, BETWEEN, LIKE

Trois raccourcis rendent les filtres plus lisibles :

  • IN teste l’appartenance à une liste : WHERE service IN ('Informatique', 'Marketing') — plus court que plusieurs OR.
  • BETWEEN teste un intervalle (bornes incluses) : WHERE salaire BETWEEN 2800 AND 3600.
  • LIKE recherche un motif dans du texte, avec % (n’importe quelle suite de caractères) et _ (un seul caractère) : WHERE nom LIKE 'M%' trouve les noms commençant par M (Martin, Moreau).

Gérer les valeurs NULL

Une valeur NULL signifie « absence de valeur ». Piège classique : on ne la teste pas avec =, mais avec IS NULL / IS NOT NULL :

-- Correct :
WHERE ville IS NULL
-- Ne fonctionne PAS :
WHERE ville = NULL

C’est l’une des erreurs les plus fréquentes chez les débutants : = NULL ne renvoie jamais vrai, même face à une vraie valeur NULL.

Trier le résultat avec ORDER BY

Pour finir, ORDER BY trie l’affichage — ASC (croissant, par défaut) ou DESC (décroissant) :

SELECT nom, salaire
FROM employes
WHERE service = 'Informatique'
ORDER BY salaire DESC;

Résultat : Leroy (4100), Petit (3600), Martin (3200) — du mieux payé au moins payé.

L’ordre des clauses

Une requête de base respecte toujours cet ordre, sous peine d’erreur de syntaxe :

SELECT   colonnes
FROM     table
WHERE    condition
ORDER BY tri;

En résumé

SELECT choisit les colonnes, WHERE filtre les lignes, ORDER BY trie le résultat : ces trois clauses forment le socle de toute interrogation SQL. Retenez les pièges classiques — quotes simples autour du texte, IS NULL pour tester les valeurs absentes, parenthèses pour clarifier AND/OR. Avec ces bases solides, vous êtes prêt à passer aux étapes suivantes : croiser plusieurs tables avec les jointures, et résumer vos données avec GROUP BY.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les commentaires sont modérés avant publication.