Réponse courte :
- références aux alias dans la liste SELECT ou
- Expressions aliasées
La seule documentation que j'ai trouvée à ce sujet jusqu'à présent est :https://bugs .mysql.com/bug.php?id=79549
Dans ce lien, il y a ce qui suit :
[9 décembre 2015 15:35] Roy Lyseng...Voici un contexte plus long pour la décision initiale :
Contrairement aux références aux alias dans les sous-requêtes de la clause WHERE (et dans GROUP BY, d'ailleurs), il n'y a aucune raison (sauf la conformité standard) de ne pas autoriser les références aux alias dans la liste SELECT , car ils doivent être disponibles dans la même phase d'exécution de la requête. Mais le support en 5.6 était assez arbitraire :
Étant donné ceci :créer la table t1(a int, b int),
L'alias dans la liste SELECT n'est pas valide :
select a+b as c,c+1 from t1;
Mais dans une sous-requête, la référence à c est valide :
select a+b as c,(select c+1) from t1;
Et la sous-requête doit être après la définition de l'alias :
select (select c+1),a+b as c from t1;
Il est donc facile de dire que la prise en charge des références aux alias dans la liste SELECT était plutôt ad-hoc. Néanmoins, nous essaierons de réimplémenter l'ancienne solution, mais sans essayer de nettoyer les trous évidents dans le support de cette fonctionnalité. Mais le référencement des alias dans les sous-requêtes de la clause WHERE ne sera pas réimplémenté.
Je recherche encore de la documentation au-delà du rapport de bogue décrivant cette fonctionnalité dans les documents standard ; mais jusqu'ici pas de chance.