MySQL/Alias

Un livre de Wikilivres.
Aller à : navigation, rechercher


Une expression ou une colonne peut être baptisée avec AS. Cet alias est utilisé comme nom de colonne et peut donc être nommé dans les clauses des requêtes. Exemple :

 SELECT 
     CONCAT(nom,' ', prenom) AS nom_complet,
     pseudonyme AS pseudo
 FROM
     table1
 ORDER BY
     nom_complet;

Ces alias fonctionnent avec ORDER BY, GROUP BY et HAVING, mais pas WHERE.

Cela peut aussi servir à raccourcir les noms des tables employées comme préfixes.

 SELECT
     COUNT(R.ID_reservation), U.Localisation 
 FROM
     Utilisateurs U
 LEFT OUTER JOIN
     Reservations AS R
 ON 
     U.ID_Utilisateur    = R.ID_Utilisateur AND
     R.ID_Projet = '10'
 GROUP BY
     U.Localisation;

De plus les alias peuvent jouer un rôle crucial pour les auto-jointures. Par exemples ci-dessous, la table personne est référencée par p et c :

 SELECT
     p.nom AS parent,
     e.nom AS enfant,
     MIN((TO_DAYS(NOW())-TO_DAYS(e.date_naissance))/365) AS agemini
 FROM
     personne AS p 
 LEFT JOIN
     personne AS e 
 ON
     p.nom=e.parent WHERE e.nom IS NOT NULL
 GROUP BY
     parent HAVING agemini > 50 ORDER BY p.date_naissance;