Temps de lecture approximative : 8 minutes
SELECT
La commande en SQL la plus basique mais ô combien, indispensable et essentielle est la commande SELECT
. Elle permet de sélectionner les données de son choix dans le résultat d'une requête. L’utilisation la plus simple de cette commande s’effectue de la manière suivante :
SELECT une_colonne FROM une_table;
Cette requête SQL, va donc sélectionner grâce à la commande SELECT
, la colonne une_colonne provenant de la table nommée une_table.
Afin de mettre en évidence son utilisation et de comprendre rapidement comment cette dernière fonctionne, voyons ci-dessous un exemple. Pour cette première illustration, nous utiliserons la table clients qui contient les colonnes et données suivantes. Cette dernière simule la table qui contient les clients d'une entreprise quelconque.
id | prenom | nom | ville | |
---|---|---|---|---|
1 | Marine | Leroy | mleroy@example.com | Paris |
2 | Jean | René | jrene@example.com | Lyon |
3 | Ted | Bundy | tbundy@example.com | Miami |
4 | Paul | Bismuth | pbismuth@example.com | Londres |
5 | Caroline | Rodriguez | crodriguez@example.com | Berlin |
Reprenons notre première requête SQL et complétons correctement cette dernière avec la table clients. Nous souhaitons sélectionner uniquement le prénom des clients. Pour effectuer cette opération, la requête est la suivante :
SELECT prenom FROM clients;
Résultat
prenom |
---|
Marine |
Jean |
Ted |
Paul |
Caroline |
Bien évidemment, le SQL permet de sélectionner plusieurs colonnes au sein de la même reqûete. Il suffit tout simplement de séparer les noms des colonnes souhaitées par une ,
(virgule). Ainsi, si l'on souhaite sélectionner uniquement le prénom et le nom des clients, on peut construire la requête suivante :
SELECT prenom, nom FROM clients;
Résultat
prenom | nom |
---|---|
Marine | Leroy |
Jean | René |
Ted | Bundy |
Paul | Bismuth |
Caroline | Rodriguez |
Le SQL répond bien évidemment à ce besoin et de manière très simple. Il est possible de sélectionner automatiquement toutes les colonnes d'une table, sans même préciser le nom de ces dernières, grâce au joker (wildcard) suivant : *
(étoile). Il s’utilise de la manière suivante :
SELECT * FROM clients;
Résultat
id | prenom | nom | ville | |
---|---|---|---|---|
1 | Marine | Leroy | mleroy@example.com | Paris |
2 | Jean | René | jrene@example.com | Lyon |
3 | Ted | Bundy | tbundy@example.com | Miami |
4 | Paul | Bismuth | pbismuth@example.com | Londres |
5 | Caroline | Rodriguez | crodriguez@example.com | Berlin |
Une base de données permet de stocker les données de manière ordonnée. Il arrive pour diverses raisons que des doublons soient présents dans des tables. L'utilisation de la commande SELECT
seule ne permet pas d'éviter ce cas. Pour supprimer les doublons des résultats d'une requête en SQL, il est nécessaire d'utiliser la commande SELECT DISTINCT
. Ci-après un exemple avec une nouvelle table nommée étudiants.
Attention, ce cours est dédié au SGBDR MySQL. Si vous utilisez Oracle, la commande n'est pas SELECT DISTINCT
mais SELECT UNIQUE
.
id | prenom | nom | classe |
---|---|---|---|
1 | Flavien | Rémy | BTS |
2 | Jean | Paul | Licence |
3 | Zoé | Dupont | Licence |
4 | Vincent | Dujardin | Licence |
5 | Jean | Edouard | Master 2 |
La requête ci-après permet de lister les prénoms de la table étudiants sans les doublons. On observe bien dans les résultats de la requête que le prénom Jean n'apparaît qu'une unique fois. Le doublon a été supprimé.
SELECT DISTINCT prenom FROM etudiants;
Résultat
prenom |
---|
Flavien |
Jean |
Zoé |
Vincent |