© Éditions Eyrolles
119
chapitre n° 4
Interrogation des données
Il faut affecter des alias aux expressions de la première requête pour pouvoir les utiliser dans
le ORDER BY final.
Pour illustrer cette restriction, supposons que nous désirions faire la liste des avions avec leur
prix d’achat augmenté de 20 %, liste triée en fonction de cette dernière hausse. Le problème
est que la table AvionsdeAF ne possède pas une telle colonne. Ajoutons donc au SELECT de
cette table, dans le tableau suivant, la valeur 0 pour rendre possible l’opérateur UNION.
Produit cartésien
En mathématiques, le produit cartésien de deux ensembles E et F est l’ensemble des couples
(x, y) où x ∈ E et y ∈ F. En transposant au modèle relationnel, le produit cartésien de deux
tables T1 et T2 est l’ensemble des enregistrements (x, y) où x ∈ T1 et y ∈ T2.
Le produit cartésien total entre deux tables T1 et T2 se programme sous SQL en positionnant
les deux tables dans la clause FROM, sans ajouter de conditions dans la clause WHERE.
Si les conditions sont de la forme c1 opérateur c2 avec c1 ∈ T1 et c2 ∈ T2, on parlera de
jointure. Si les conditions sont de la forme c1 opérateur valeur1 ou c2 opérateur valeur2,
on parlera de produit cartésien restreint.
Le produit cartésien restreint, illustré par l’exemple suivant, exprime les combinaisons d’équipages qu’il est possible de réaliser en considérant les pilotes de la compagnie 'AF' et les avions
de la table AviondeAF.
Tableau 4-32 Alias pour ORDER BY
Requête
Résultat
SELECT immatriculation,
FROM AvionsdeSING
UNION
SELECT immat, 0 FROM AvionsdeAF
ORDER BY px DESC;
+-----------------+------------+
| immatriculation | px
|
+-----------------+------------+
| F-GTMP
| 245400.000 |
| S-MILE
| 237600.000 |
| S-AVEZ
| 187200.000 |
| S-ANSI
| 125400.000 |
| F-GLFS
|
0.000 |
| F-GTMP
|
0.000 |
| F-WTSS
|
0.000 |
+-----------------+------------+
Web
1.2*prixAchat px
119
chapitre n° 4
Interrogation des données
Il faut affecter des alias aux expressions de la première requête pour pouvoir les utiliser dans
le ORDER BY final.
Pour illustrer cette restriction, supposons que nous désirions faire la liste des avions avec leur
prix d’achat augmenté de 20 %, liste triée en fonction de cette dernière hausse. Le problème
est que la table AvionsdeAF ne possède pas une telle colonne. Ajoutons donc au SELECT de
cette table, dans le tableau suivant, la valeur 0 pour rendre possible l’opérateur UNION.
Produit cartésien
En mathématiques, le produit cartésien de deux ensembles E et F est l’ensemble des couples
(x, y) où x ∈ E et y ∈ F. En transposant au modèle relationnel, le produit cartésien de deux
tables T1 et T2 est l’ensemble des enregistrements (x, y) où x ∈ T1 et y ∈ T2.
Le produit cartésien total entre deux tables T1 et T2 se programme sous SQL en positionnant
les deux tables dans la clause FROM, sans ajouter de conditions dans la clause WHERE.
Si les conditions sont de la forme c1 opérateur c2 avec c1 ∈ T1 et c2 ∈ T2, on parlera de
jointure. Si les conditions sont de la forme c1 opérateur valeur1 ou c2 opérateur valeur2,
on parlera de produit cartésien restreint.
Le produit cartésien restreint, illustré par l’exemple suivant, exprime les combinaisons d’équipages qu’il est possible de réaliser en considérant les pilotes de la compagnie 'AF' et les avions
de la table AviondeAF.
Tableau 4-32 Alias pour ORDER BY
Requête
Résultat
SELECT immatriculation,
FROM AvionsdeSING
UNION
SELECT immat, 0 FROM AvionsdeAF
ORDER BY px DESC;
+-----------------+------------+
| immatriculation | px
|
+-----------------+------------+
| F-GTMP
| 245400.000 |
| S-MILE
| 237600.000 |
| S-AVEZ
| 187200.000 |
| S-ANSI
| 125400.000 |
| F-GLFS
|
0.000 |
| F-GTMP
|
0.000 |
| F-WTSS
|
0.000 |
+-----------------+------------+
Web
1.2*prixAchat px
