82
Chapitre 5 • Le langage SQL DML
b) . . . et aux ensembles vides
Toute fonction agrégative produit une unique valeur à partir d’un ensemble
d’éléments. Quelle est cette valeur lorsque l’ensemble est vide ?
La réponse est assez intuitive : cette valeur est 0 pour count et inconnu (c’est à
dire null) pour toutes les autres fonctions.
select count(*) as Somme, sum(COMPTE) as Somme,
max(CAT) as Max
from
CLIENT
where LOCALITE = 'Alger'
5.3 SÉLECTION UTILISANT PLUSIEURS TABLES :
LES SOUS-REQUÊTES
Les requêtes que nous allons étudier extraient encore des données d’une seule table,
mais cette fois, les lignes sources sont sélectionnées en fonction de leur liaison à des
lignes déterminées appartenant à d’autre tables. On pourra parler de condition
d’association. Par exemple, on sélectionnera les commandes des clients de Namur,
ou encore les clients qui commandent le produit PA60.
5.3.1 Les sous-requêtes
Considérons les clients qui habitent dans une localité donnée. Il est possible d’en
retrouver les numéros en posant la requête suivante :
select NCLI
from
CLIENT
where LOCALITE = 'Namur'
dont l’exécution nous donnerait :
Il est alors aisé de retrouver les commandes de ces clients de Namur :
Nombre
Noms
Localités
Catégories
16
15
7
4
Nombre
Somme
Max
0
NCLI
B062
C123
L422
S127
Chapitre 5 • Le langage SQL DML
b) . . . et aux ensembles vides
Toute fonction agrégative produit une unique valeur à partir d’un ensemble
d’éléments. Quelle est cette valeur lorsque l’ensemble est vide ?
La réponse est assez intuitive : cette valeur est 0 pour count et inconnu (c’est à
dire null) pour toutes les autres fonctions.
select count(*) as Somme, sum(COMPTE) as Somme,
max(CAT) as Max
from
CLIENT
where LOCALITE = 'Alger'
5.3 SÉLECTION UTILISANT PLUSIEURS TABLES :
LES SOUS-REQUÊTES
Les requêtes que nous allons étudier extraient encore des données d’une seule table,
mais cette fois, les lignes sources sont sélectionnées en fonction de leur liaison à des
lignes déterminées appartenant à d’autre tables. On pourra parler de condition
d’association. Par exemple, on sélectionnera les commandes des clients de Namur,
ou encore les clients qui commandent le produit PA60.
5.3.1 Les sous-requêtes
Considérons les clients qui habitent dans une localité donnée. Il est possible d’en
retrouver les numéros en posant la requête suivante :
select NCLI
from
CLIENT
where LOCALITE = 'Namur'
dont l’exécution nous donnerait :
Il est alors aisé de retrouver les commandes de ces clients de Namur :
Nombre
Noms
Localités
Catégories
16
15
7
4
Nombre
Somme
Max
0
NCLI
B062
C123
L422
S127
