SQL Quest
Se connecter English 0 XP Niv. 1
Débutant

SQL SELECT : lire les données d'une table

4 min de lecture · 3 exemples exécutables · mis à jour le 9 octobre 2026

SELECT est la première commande que tout le monde apprend en SQL, et celle que vous écrirez le plus souvent. Elle sert à lire des données : afficher le contenu d'une table, choisir quelques colonnes, calculer de nouvelles valeurs. Elle ne modifie jamais la base : vous pouvez l'essayer sans risque.

Dans ce cours, vous allez voir comment écrire une requête SELECT, comment choisir les colonnes à afficher, et pourquoi le fameux SELECT * est pratique… mais pas toujours une bonne idée.

Syntaxe

SELECT colonne1, colonne2, …
FROM nom_de_la_table;

Comment ça marche

Une requête SELECT se lit presque comme une phrase : « sélectionne ces colonnes depuis cette table ».

  • SELECT indique les colonnes à afficher, séparées par des virgules. Elles apparaissent dans l'ordre où vous les écrivez.
  • FROM indique la table où se trouvent ces colonnes.
  • L'étoile * signifie « toutes les colonnes ». SELECT * FROM produits affiche donc la table entière.
  • Le point-virgule ; termine la requête. Il est indispensable quand on enchaîne plusieurs requêtes.

Le SQL ne tient pas compte des majuscules pour les mots-clés : select et SELECT fonctionnent de la même façon. L'usage est d'écrire les mots-clés en majuscules et les noms de tables et de colonnes en minuscules, pour que la requête se lise facilement.

Pourquoi éviter SELECT * dans une application ?

SELECT * est parfait pour explorer une table. Dans une vraie application, on liste plutôt les colonnes utiles : la requête transfère moins de données, et elle ne casse pas si quelqu'un ajoute ou réordonne des colonnes dans la table.

Schéma

produits
idnomcategorieprix
1ClavierInformatique49
2PlaidMaison25
3GourdeSport12
résultat
nomprix
Clavier49
Plaid25
Gourde12
SELECT nom, prix FROM produits : on garde toutes les lignes, mais seulement les colonnes demandées.

Schéma simplifié pour illustrer le principe. Les exemples ci-dessous utilisent la vraie base d'exercices de SQL Quest (une boutique en ligne fictive : voir le schéma complet).

Exemples avec leurs résultats

1. Afficher toute une table

L'étoile affiche toutes les colonnes de la table fournisseurs.

SELECT * FROM fournisseurs;
Essayer dans le bac à sable
Résultat
idnompays
1TechNovaFrance
2ElectroPlusAllemagne
3MaisonDecoFrance
4SportZoneEspagne
5BookWorldBelgique
6GreenFoodItalie
7AsiaPartsChine

7 lignes au total

2. Choisir ses colonnes

On n'affiche que le nom et le prix de chaque produit, dans cet ordre.

SELECT nom, prix FROM produits;
Essayer dans le bac à sable
Résultat
nomprix
Clavier mécanique15
Souris sans fil103
Écran 27"342
Webcam HD101
SSD 1To317
Casque gaming98
Hub USB-C49
Lampe LED51,74
Coussin10,86
Plaid29,23

29 lignes au total · 10 affichées

3. Changer l'ordre des colonnes

L'ordre des colonnes dans le résultat suit l'ordre écrit après SELECT, pas celui de la table.

SELECT ville, nom, prenom FROM clients;
Essayer dans le bac à sable
Résultat
villenomprenom
LilleDuboisSamir
LilleMartinSamir
ParisLaurentZoé
ToulouseLefebvreRayan
MarseilleLaurentLéa
BordeauxMichelLouis
CasablancaDuboisAdam
MontréalLambertOmar
BordeauxFaureZoé
LyonFaureAlice

120 lignes au total · 10 affichées

Les erreurs fréquentes

Oublier la virgule entre deux colonnes

Sans virgule, SQL comprend que le deuxième mot est un alias (un nouveau nom) de la première colonne. La requête ne plante pas : elle renvoie une seule colonne, ce qui est encore plus trompeur.

À éviter
SELECT prenom nom FROM clients;
Correct
SELECT prenom, nom FROM clients;

Laisser une virgule avant FROM

Une virgule après la dernière colonne provoque une erreur de syntaxe.

À éviter
SELECT prenom, nom, FROM clients;
Correct
SELECT prenom, nom FROM clients;

Se tromper de nom de table

Les noms doivent être exacts. Dans notre base, les tables sont au pluriel : clients, produits, commandes…

À éviter
SELECT * FROM client;
Correct
SELECT * FROM clients;

Exercices

Essayez d'écrire la requête vous-même avant d'ouvrir la solution.

Défi 1. Affichez l'adresse e-mail et la ville de tous les clients.

Voir une solution
SELECT email, ville FROM clients;
emailville
samir.dubois1@mail.comLille
samir.martin2@mail.comLille
zoe.laurent3@mail.comParis
rayan.lefebvre4@mail.comToulouse
lea.laurent5@mail.comMarseille
louis.michel6@mail.comBordeaux
adam.dubois7@mail.comCasablanca
omar.lambert8@mail.comMontréal

120 lignes au total · 8 affichées

Essayer dans le bac à sable

Défi 2. Affichez le nom, le poste et le salaire de tous les employés.

Voir une solution
SELECT nom, poste, salaire FROM employes;
nompostesalaire
DuboisPDG9 500
LefebvreDirecteur commercial6 200
RouxDirectrice technique6 800
SimonResponsable RH4 800
SimonCommercial4 800
MartinCommercial3 400
MoreauCommercial4 600
LambertCommercial4 200

25 lignes au total · 8 affichées

Essayer dans le bac à sable
Envie de vous entraîner davantage ?

Les exercices interactifs sont corrigés automatiquement, avec un prof qui explique vos erreurs. Une leçon résumée reste affichée à côté de l'éditeur.

Faire les exercices interactifs

Questions fréquentes

SELECT modifie-t-il la base de données ?

Non. SELECT ne fait que lire les données. Pour modifier une table, on utilise INSERT, UPDATE ou DELETE.

Faut-il écrire SELECT en majuscules ?

Non, les mots-clés SQL ne sont pas sensibles à la casse. Les majuscules sont une convention qui rend les requêtes plus lisibles.

Le point-virgule est-il obligatoire ?

Pour une requête seule, la plupart des outils l'acceptent sans. Il devient indispensable dès que vous enchaînez plusieurs requêtes : prenez l'habitude de toujours le mettre.

Dans quel ordre s'affichent les lignes ?

Sans ORDER BY, l'ordre des lignes n'est pas garanti. Si l'ordre compte, ajoutez une clause ORDER BY (voir le cours dédié).

À lire ensuite