Dans ce chapitre, nous allons voir comment interroger une base de données au moyen d’une requête SQL.

Database schema

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

1. Requête basique

Supposons que nous aimerions obtenir les données à propos de tous les employés. On désire les données à propos de tous les attributs.

SELECT *
FROM Employee

On obtient le tableau suivant.

{{h}}
{{r}}

2. Requête avec un filtrage simple

Supposons que nous aimerions obtenir les données à propos des nom, prénom et nombre d’enfants des employés qui ont au moins un enfant.

SELECT First_name, Last_name, Kids_number
FROM Employee
WHERE Kids_number >= 1

On obtient le tableau suivant.

{{h}}
{{r}}

3. Requête avec une condition AND

Supposons que nous aimerions obtenir les données à propos des employés qui ont au moins un enfant et dont le prénom commence par la lettre « R ». On veut les données à propos de tous les attributs.

SELECT *
FROM Employee
WHERE Kids_number >= 1 AND First_name LIKE 'R%'

On obtient le tableau suivant.

{{h}}
{{r}}

4. Requête avec une condition OR

Supposons que nous aimerions obtenir les données à propos des employés qui, soit ont au moins un enfant, soit dont le prénom commence par la lettre « D ». On veut les données à propos de tous les attributs.

SELECT *
FROM Employee
WHERE Kids_number >= 1 OR First_name LIKE 'D%'

On obtient le tableau suivant.

{{h}}
{{r}}

5. Requête avec conditions OR et AND combinées

Supposons que nous aimerions obtenir les données à propos des employés qui, soit ont au moins un enfant, soit dont le prénom commence par la lettre « D ». En plus, on veut uniquement les employés engagés à partir du 1er janvier 2014. On veut les données à propos de tous les attributs.

SELECT *
FROM Employee
WHERE (Kids_number >= 1 OR First_name LIKE 'D%') AND Start >= '2014-01-01'

On obtient le tableau suivant.

{{h}}
{{r}}

Récap

Une requête SQL simple utilise les clauses SELECT, FROM et WHERE.

SELECT précise quels attributs (colonnes) l’on désire obtenir. Le symbole * dans le SELECT signifie que l’on désire les données à propos de tous les attributs. FROM précise la table qui contient les données. Enfin, WHERE filtre les enregistrements qui satisfont à une ou plusieurs conditions.

IN permet un code plus concis. Par exemple ... WHERE Kids_number=1 OR Kids_number=3 est équivalent à ... WHERE Kids_number IN (1,3).