104
Chapitre 5 • Le langage SQL DML
Exemple 2
L’exemple suivant est particulièrement intéressant. Il illustre une opération
fréquente, qui consiste à condenser une information, telle que les valeurs d’une
colonne, de manière à la rendre plus lisible. La table de la figure 5.8 établit des intervalles successifs de valeurs de compte (MIN_CPT et MAX-CPT), et attribue un code
à chacun (CODE_CPT).
Figure 5.8 - Table de classification des valeurs des comptes des clients
Nous aimerions associer à chaque client le code de son compte. C’est ce que nous
livre la requête suivante 29 .
select NCLI, NOM, CODE_CPT
from
CLIENT, CLASSE_CPT
where CAT = 'C1'
and
COMPTE >= MIN_CPT and COMPTE < MAX_CPT
5.4.9 Interprétation du résultat d’une jointure
La construction d’une requête qui utilise une ou plusieurs jointures peut s’avérer
délicate. Il importe donc de bien comprendre ce que représente le résultat d’une jointure. Nous limiterons le propos aux jointures qui sont basées sur l’égalité d’une clé
étrangère et d’un identifiant primaire.
a) Quelles entités représente le résultat d’une jointure ?
La question est la suivante. Sachant que toute ligne d’une table représente une entité
du domaine d’application (un client, un achat, un détail, etc.), quelles entités les
lignes d’une jointure représentent-elles ? Par exemple, chaque ligne produite par
l’évaluation de la requête :
29. Compte tenu de la manière dont les intervalles ont été représentés, il n’est pas possible
d’utiliser le prédicat between. Pourquoi ?
Chapitre 5 • Le langage SQL DML
Exemple 2
L’exemple suivant est particulièrement intéressant. Il illustre une opération
fréquente, qui consiste à condenser une information, telle que les valeurs d’une
colonne, de manière à la rendre plus lisible. La table de la figure 5.8 établit des intervalles successifs de valeurs de compte (MIN_CPT et MAX-CPT), et attribue un code
à chacun (CODE_CPT).
Figure 5.8 - Table de classification des valeurs des comptes des clients
Nous aimerions associer à chaque client le code de son compte. C’est ce que nous
livre la requête suivante 29 .
select NCLI, NOM, CODE_CPT
from
CLIENT, CLASSE_CPT
where CAT = 'C1'
and
COMPTE >= MIN_CPT and COMPTE < MAX_CPT
5.4.9 Interprétation du résultat d’une jointure
La construction d’une requête qui utilise une ou plusieurs jointures peut s’avérer
délicate. Il importe donc de bien comprendre ce que représente le résultat d’une jointure. Nous limiterons le propos aux jointures qui sont basées sur l’égalité d’une clé
étrangère et d’un identifiant primaire.
a) Quelles entités représente le résultat d’une jointure ?
La question est la suivante. Sachant que toute ligne d’une table représente une entité
du domaine d’application (un client, un achat, un détail, etc.), quelles entités les
lignes d’une jointure représentent-elles ? Par exemple, chaque ligne produite par
l’évaluation de la requête :
29. Compte tenu de la manière dont les intervalles ont été représentés, il n’est pas possible
d’utiliser le prédicat between. Pourquoi ?
