Vous pouvez utiliser un alias pour vous référer à une colonne
dans une clause GROUP BY
, ORDER
BY
, ou HAVING
. Les alias peuvent
aussi être utilisés pour donner de meilleurs noms aux
colonnes :
SELECT SQRT(a*b) as rt FROM nom_de_table GROUP BY rt HAVING rt > 0; SELECT id,COUNT(*) AS cnt FROM nom_de_table GROUP BY id HAVING cnt > 0; SELECT id AS "Identité du client" FROM nom_de_table;
Notez que ANSI SQL ne vous permet pas de vous référer à un
alias dans une clause WHERE
. Il en est ainsi
car lorsque le code de WHERE
est exécuté,
la valeur de la colonne ne peut pas encore être déterminée.
Par exemple, la requête suivante est illégale :
SELECT id,COUNT(*) AS cnt FROM nom_de_table WHERE cnt > 0 GROUP BY id;
La clause WHERE
est exécutée pour savoir
quelles lignes devraient être inclues dans la partie
GROUP BY
tandis que HAVING
est utilisé pour décider quelles lignes du jeu de résultats
doivent être utilisées.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.