Précédent   Forum des professionnels en informatique > Bases de données > MySQL
MySQL Forum d'entraide MySQL. Avant de poster -> FAQ MySQL, Tutoriels MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/12/2011, 19h51   #1
Membre habitué
 
Inscription : septembre 2004
Messages : 244
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 244
Points : 110
Points : 110
Par défaut compréhension d'une syntaxe

Bonjour,

Je suis entrain de lire un livre et je suis tombé sur un exemple que je n'arrive pas a comprendre :


Code :
1
2
3
4
SELECT T.typeAvion FROM
(SELECT typeAvion FROM AvionsdeAF UNION
SELECT typeAv FROM AvionsdeSING) T
ORDER BY T.typeAvion DESC;
Est-ce que quelqu'un pourrait m'explique la signification de "T.typeAvion " et pourquoi ajoute t'on "T" apres le (SELECT typeAvion FROM AvionsdeAF UNION
SELECT typeAv FROM AvionsdeSING) ????

Merci beaucoup
omelhor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 21h17   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 327
Points : 18 327
Envoyer un message via MSN à CinePhil
T est un alias de la sous requête UNION.
L'alias est obligatoire dès qu'il y a une sous-requête dans le FROM ou le JOIN et est fortement recommandé dès qu'il y a plus d'une table utilisée dans une requête car cela rend la requête plus facile à lire. En plus ça demande moins de boulot que de devoir répéter le nom de la table partout.

Je remets en forme la requête :
Code :
1
2
3
4
5
6
7
8
9
10
SELECT T.typeAvion 
FROM
(
	SELECT typeAvion 
	FROM AvionsdeAF 
	UNION
	SELECT typeAv 
	FROM AvionsdeSING
) T
ORDER BY T.typeAvion DESC
Il y a ici l'union de deux requêtes pour extraire les types d'avions de deux tables différentes.
La colonne hébergeant le type de l'avion ne porte pas le même nom dans les deux tables mais c'est le nom de la colonne de la première table citée qui l'emporte.
Et comme apparemment on veut trier les données par ordre inverse de type d'avion, on est obligé d'encadrer le tout de parenthèses et de faire une sur-requête pour spécifier cet ordre.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2011, 17h03   #3
Membre habitué
 
Inscription : septembre 2004
Messages : 244
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 244
Points : 110
Points : 110
merci beaucoup
omelhor est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h37.


 
 
 
 
Partenaires

Hébergement Web