SELECT — lire des données
La requête la plus importante
Avant de modifier quoi que ce soit, on doit savoir lire des données.
En SQL, tout commence par SELECT.
C'est la commande la plus utilisée — de loin.
L'idée : tu dis à la base "montre-moi ces données, dans cette table". La base t'envoie les lignes correspondantes.
SELECT * FROM : tout afficher
La forme la plus simple : afficher toutes les colonnes d'une table.
L'étoile * signifie "tout".
SELECT *
FROM clients;
Traduction en français : "Sélectionne tout depuis la table clients." La base te renvoie toutes les lignes, toutes les colonnes.
Le point-virgule ; marque la fin de la requête. Toujours le mettre à la fin.
Sans lui, certains outils refusent d'exécuter la requête.
Sélectionner des colonnes précises
SELECT * affiche tout. Mais souvent, tu ne veux que certaines colonnes.
Tu listes les colonnes que tu veux, séparées par des virgules.
SELECT nom, email
FROM clients;
Résultat : uniquement les colonnes nom et email.
La colonne id et ville ne s'affichent pas.
SELECT nom, ville
FROM clients;
Bonne pratique : ne sélectionner que les colonnes dont tu as besoin.
Sur une vraie base avec des milliers de colonnes et millions de lignes,
SELECT * peut être très lent.
FROM : de quelle table ?
FROM indique dans quelle table chercher les données.
Le nom de la table doit correspondre exactement à ce qui existe dans la base.
-- Lire dans la table "clients"
SELECT *
FROM clients;
-- Lire dans la table "produits"
SELECT *
FROM produits;
-- Lire dans la table "commandes"
SELECT *
FROM commandes;
Renommer une colonne dans l'affichage
Parfois, tu veux afficher une colonne avec un autre nom dans le résultat.
On utilise AS pour ça — ça s'appelle un alias.
SELECT nom AS "Nom du client", ville AS "Localisation"
FROM clients;
Le résultat aura les colonnes nommées "Nom du client" et "Localisation" au lieu de "nom" et "ville". Les données ne changent pas, juste l'étiquette.
L'ordre d'une requête SQL
En SQL, les mots-clés doivent apparaître dans un ordre précis.
Tu ne peux pas écrire FROM avant SELECT.
Pour l'instant, retiens :
FROM table source
[WHERE conditions de filtre]
[ORDER BY colonnes de tri]
[LIMIT nombre de résultats]
Les éléments entre crochets [ ] sont optionnels. On les verra dans la prochaine leçon.
Essaie sur sqliteonline.com
Crée cette table et teste tes premières requêtes :
-- Crée la table
CREATE TABLE clients (
id INTEGER,
nom TEXT,
email TEXT,
ville TEXT
);
-- Insère des données
INSERT INTO clients VALUES
(1, 'Marie Dupont', 'marie@exemple.fr', 'Paris'),
(2, 'Lucas Martin', 'lucas@exemple.fr', 'Lyon'),
(3, 'Sophie Blanc', 'sophie@exemple.fr', 'Bordeaux');
-- Teste tes requêtes SELECT ici ↓
SELECT * FROM clients;
SELECT *affiche toutes les colonnes d'une tableSELECT nom, emailaffiche uniquement les colonnes listéesFROM clientsindique dans quelle table chercherAS "Alias"renomme une colonne dans l'affichage- Ordre obligatoire : SELECT → FROM (puis WHERE, ORDER BY, LIMIT)
- Toujours terminer une requête par un
;