Aller au contenu

MySQL/Alias

Un livre de Wikilivres.

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 exemple 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;