Qu’est-ce que la commande SELECT ?

La commande SELECT est une commande du langage de programmation SQL (Structured Query Language). C’est un langage de manipulation (recherche, de suppression, de modification,…) des données dans un Système de Gestion de Base de données (SGBD) relationnelle. Il existe plusieurs types de SGDB à savoir :

Les systèmes de gestion de bases de données relationnelles ;

Les systèmes de gestion de bases de données non relationnelles NoSQL ;

Les systèmes de gestion de bases de données cloud ;

Les systèmes de gestion de bases de données en mémoire ;

Etc.

Nous n’allons pas étudier les SGDB. Notre objectif est d’étudier la commande SELECT de SQL qui est un langage  utilisé par la plupart des systèmes de gestions des bases de données relationnelles tels Oracle, MySQL, SQL Server, PostgreSQL,  DB2, Ingres, … .

La commande SELECT est en quelque sorte une commande  de recherche des informations stockées dans une base de données. Ces informations sont répertoriées dans des lignes et colonnes des tables.  De façon technique on peut définir la base de données comme une ou un ensemble de tables contenant des attributs et des lignes (enregistrements). On parle d’ici de bases de données relationnelles.

La commande SELECT associée à d’autres instructions SQL constituent des requêtes qui permettent de gérer les informations stockées dans  des bases de données.

     Comment utiliser la commande SELECT ?

SELECT signifie sélectionner. On sélection quelque chose qui existe déjà. Dans notre cas on sélectionne les informations ou les données qui sont stockées dans un système de gestion de base de données SGBD.

On peut utiliser SELECT pour :

  • Afficher toutes les tables d’une base de données.
  • Afficher plusieurs tables ;
  • Afficher une table ;
  • Une ou plusieurs valeurs (lignes) d’une table ;
  • Toutes les valeurs d’une table ;
  • Une seule ou plusieurs valeurs d’un attribut d’une table ;

Exemple d’instance d’une base de données

Nous allons utiliser la commande SELECT dans notre base de données nommée person contenant la table employee la table customer. Notre système de gestion de bases de données ici est MySQL et nous précisons que la syntaxe des requêtes peut être différente selon le type de SGBD.

 

Base de données person

employee

id_employeelast_namefirst_namesalaryid_customer
 1JonesSmith12001
 2JackHarry60303
3WilliamJames70052
4MichaelOliver35001

 

 

 

 

customer

id_customernameaddress
1Rizzo89 Oak Ave
2Mancini148 Elm St
3LombardiNY 10019 Bld

 

 

 

 

 

Pour afficher toutes les informations de la base de données person, on affiche toutes les tables de la base de données person.

La syntaxe :

SELECT * FROM nom_table ;

Demo

Affichons toutes les données de la table employee.

SELECT * FROM employee ;

Le résultat :

 

id_employeelast_namefirst_namesalaryid_customer
 1JonesSmith12001
 2JackHarry60303
3WilliamJames70052
4MichaelOliver35001

 

 

 

 

Affichons toutes les données de la table customer.

SELECT * FROM customer ;

 

 

id_customernameaddress
1Rizzo89 Oak Ave
2Mancini148 Elm St
3LombardiNY 10019 Bld

 

 

 

On a sélectionné le nom d’une table c’est toute les informations de la table qui s’affichent (les colonnes avec les clignes).  Ici on peut faire une requête de jointure pour afficher les données des deux tables de notre base de données. Nous verrons dans le prochain chapitre comment faire une jointure des tables. Pour le moment on reste sur une seule table.

Le  caractère ou l’instruction étoile (*) retourne toutes les colonnes et les lignes des tables sans connaître les noms de ces colonnes et les numéros des lignes.

 

Utilisation de SELECT avec la clause WHERE

Pour afficher toutes les informations d’une personne de la base de données par exemple « Harry » :

SELECT * FROM ‘employés’ WHERE first_name = ‘Harry’ ;

2JackHarryItaly

 

 

On obtient toutes les informations sur Harry. Seulement toutes les données sur « Harry » s’affichent à cause de l’instruction ‘WHERE’ qui est une instruction SQL qui filtre les données. WHERE précise la ligne qu’il faut retourner.

On peut toujours former cette  requête de plusieurs manières ; par exemple

SELECT firt_name FROM employee WHERE employee.first_name=’Harry’ ;

Remarque : Une requête SELECT peut être suivie de plusieurs autres instruction SQL comme :

SELECT *  (sélectionne tout, une base de données) ;

SELECT ‘’table’’ (sélectionne table) ;

SELECT ‘’colonne’’ (sélection un attribut ou champ) ;

La commande SELECT peut devenir très longue et prendre des lignes. C’est le cas de procédure  SQL (fonctions ou programmes SQL) pour les systèmes de gestion des bases de données relationnelles.

Une requête SELECT peut contenir des autres instructions à savoir :

  • WHERE ;
  • HAVIN ;
  • GROUP BY ;
  • ORDER BY ;
  • UNION ;
  • INTERSECT ;
  • EXCEPT ;
  • LIMIT ;

Conclusion

La commande SQL SELECT permet de sélectionner de façon globale (toute une table, une ou plusieurs colonnes) ou précise les valeurs stockées dans une base de données.