Chapitre 5. La commande SELECT, syntaxe de base

Table des matières

SELECT
Suppression des doublons
Restriction
Restriction en comparant les colonnes entre elles
Négation, recherche approchée
Tris
Valeurs non renseignées
Expressions arithmétiques
Éviter les valeurs NULL
Arrondis
Concaténation
Opérateur conditionnel
Chaînes de caractères
Opérations ensemblistes

Vous trouverez les réponses des exercices au Chapitre 13, Réponses aux premiers exercices sur la commande SELECT.

SELECT

La commande de recherche est le verbe SELECT .

L'étude de la commande SELECT et des différentes clauses et fonctions est faite, pour commencer, en considérant une seule table.

Par la suite, l'utilisation de plusieurs tables dans le même SELECT, sera prise en compte.

La syntaxe de base est :

  SELECT colonnes d'une ou plusieurs tables séparées par « , »
    FROM tables séparées par « , »
   WHERE conditions logiques séparées par « AND » ou « OR » 
ORDER BY colonnes séparées par « , » 

Le caractère « * » permet de demander l'affichage de toutes les colonnes d'une table.

  1. Afficher toutes les informations concernant les employés.

  2. Afficher toutes les informations concernant les départements.

A la place de « * » on peut donner la liste des colonnes souhaitées, dans l'ordre souhaité, en écrivant la requête sur une ou plusieurs lignes. L'écriture sur plusieurs lignes est conseillée en vue de rendre plus simple la relecture et la modification de la requête. Il s'agit de la projection vue la section intitulée « SQL : un langage algébrique ».

  1. Afficher le nom, la date d'embauche, le numéro du supérieur, le numéro de département et le salaire de tous les employés.

Le titre des colonnes obtenues par un SELECT sont les noms des champs.

On peut cependant changer ces titres en utilisant AS. La commande

SELECT nom AS employe fROM emp ;

produira le même effet que

SELECT nom FROM emp ;

à la différence que la colonne ne sera pas intitulé nom mais Employe.

Si vous voulez utiliser un titre de colonne qui contient autre chose que des lettres non accentuées (des espaces, des ponctuations, des accents, etc.) il faut l'entourer par des guillemets (« " »). On écrira ainsi :

SELECT nom AS "Nom de l'employé" FROM emp ;