La tâche la plus fondamentale en SQL est de lire et d'extraire des données. On veut pouvoir dire à notre base : "Montre-moi des informations qui se trouvent dans cette table". Les clauses SELECT et FROM sont les deux piliers de cette opération.
SELECT: choisit les colonnes (les informations) que l'on veut voir.FROM: spécifie la table où chercher ces informations.
Pour toutes les fiches de cette section, nous utiliserons la table simple ci-dessous, nommée vehicules. Elle contient des informations sur des voitures.
| id | marque | modele | annee | prix |
|---|---|---|---|---|
| 1 | Renault | Clio | 2021 | 22000 |
| 2 | Peugeot | 208 | 2022 | 24000 |
| 3 | Citroën | C3 | 2021 | 21500 |
| 4 | Renault | Arkana | 2023 | 32000 |
| 5 | Tesla | Model 3 | 2022 | 45000 |
Toute requête de lecture commence par cette structure :
SELECT colonne1, colonne2, ...
FROM nom_de_la_table;Pour voir toutes les informations d'une table sans distinction, on utilise le caractère joker * (astérisque), qui signifie "toutes les colonnes".
Requête :
SELECT *
FROM vehicules;Résultat : (La table entière est retournée)
| id | marque | modele | annee | prix |
|---|---|---|---|---|
| 1 | Renault | Clio | 2021 | 22000 |
| 2 | Peugeot | 208 | 2022 | 24000 |
| 3 | Citroën | C3 | 2021 | 21500 |
| 4 | Renault | Arkana | 2023 | 32000 |
| 5 | Tesla | Model 3 | 2022 | 45000 |
Très souvent, seules quelques colonnes nous intéressent. Il suffit de les lister, séparées par des virgules.
Requête : (On ne veut que le modèle et l'année)
SELECT modele, annee
FROM vehicules;Résultat :
| modele | annee |
|---|---|
| Clio | 2021 |
| 208 | 2022 |
| C3 | 2021 |
| Arkana | 2023 |
| Model 3 | 2022 |
Parfois, les noms des colonnes dans la base de données ne sont pas très clairs pour un rapport. On peut les renommer dans le résultat de la requête avec le mot-clé AS.
Requête :
SELECT
modele AS "Modèle de voiture",
prix AS "Prix de vente (€)"
FROM vehicules;Résultat : (Les en-têtes de colonnes sont maintenant plus lisibles)
| Modèle de voiture | Prix de vente (€) |
|---|---|
| Clio | 22000 |
| 208 | 24000 |
| C3 | 21500 |
| Arkana | 32000 |
| Model 3 | 45000 |
| Clause | Rôle | Exemple |
|---|---|---|
SELECT |
Définit les colonnes à afficher dans le résultat. | SELECT modele, prix |
FROM |
Indique la table source des données. | FROM vehicules |
* |
Caractère joker utilisé avec SELECT pour "toutes les colonnes". |
SELECT * |
AS |
Renomme une colonne dans le résultat final (crée un alias). | SELECT annee AS "Année" |