Ce chapitre traite comment formater les données ainsi que l’utilisation d’alias dans les requêtes SQL.

Database schema

Figure 4.1 : schéma de base de données

Chaque attribut a un type. Prenons la table Employee en guise d’exemple. Last_name, First_name sont de type String (chaîne de caractères), Start et End sont de type Date, ID et Kids_number sont de type Integer (nombre entier) et enfin Salary est de type Float (nombre décimal).

Dans les requêtes SQL le formatage des données dépend de leur type.

1. Date

Les attributs de type Date doivent être formaté de la façon suivante : '2014-01-22'. Par exemple, on veut les données des employés qui ont travaillé toute la période du 1er janvier 2008 au 31 décembre 2013 (inclus).

SELECT *
FROM Employee
WHERE Start >= '2008-01-01' AND End <= '2013-12-31'

On obtient le tableau suivant.

{{h}}
{{r}}

2. Nombre (entier et décimal)

Les attributs de type Nombre doivent être formaté de la façon suivante : 3. Par exemple on veut les données des employés dont le nombre d’enfants est différent de 3.

SELECT *
FROM Employee
WHERE Kids_number <> 3

On obtient le tableau suivant.

{{h}}
{{r}}

3. String

Les attributs de type String doivent être formaté de la façon suivante : 'Marketing'. On peut aussi utiliser les guillemets, par exemple si un mot comprend déjà une apostrophe : "O'Connor".

La recherche dans un attribut de type String peut être faite avec la clause LIKE. Par exemple, on veut les employés dont le prénom contient la sous-chaîne Anne.

... WHERE First_name LIKE '%Anne%'

Ceci va toucher les employés dont le prénom est par exemple Marie-Anne, Annette ou simplement Anne.

4. Valeur NULL

Pour tester si un attribut a une valeur NULL on peut procéder de la manière suivante : IS NULL. Par exemple on veut les données à propos des employés qui ont quitté l’entreprise.

SELECT *
FROM Employee
WHERE End IS NOT NULL

On obtient le tableau suivant.

{{h}}
{{r}}

5. Alias

Comme son nom l’indique, un alias est une étiquette (label) que l’on assigne à un attribut ou à une table. Pour définir un alias, on utilise le mot-clé AS.

Les alias sont par exemple utiles dans le renommage de l’entête dans le résultat d’une requête. Par exemple, supposons qu’on veuille renommer le titre des colonnes First_name et Last_name en Allemand dans le résultat.

SELECT First_name AS Vorname, Last_name AS Name
FROM Employee
WHERE Last_name = 'Sasaki' AND First_name = 'Ryoko'

On obtient le tableau suivant.

{{h}}
{{r}}

Voyons un autre cas d’utilisation des alias. Lorsqu’on a besoin de données provenant de plusieurs tables (voir jointure), il faut préfixer le nom de la table avant les attributs (p.ex. Employee.First_name). L’usage des alias permet d’avoir un nom de table plus court. Par exemple,

SELECT emp.First_name, emp.Last_name, dep.Name
FROM Employee AS emp, Department AS dep

est plus commode que

SELECT Employee.First_name, Employee.Last_name, Department.Name
FROM Employee, Department

Récap

Chaque attribut d’une table a un type de données, tel que Integer, String ou Date. Dans les requêtes SQL, les données doivent être formatées en fonction de leur type. Comme son nom l’indique, un alias est une étiquette (label) que l’on assigne à un attribut ou à une table.