Na aula 6(01) foi ensinado que no group by tenho que colocar a função toda, e não posso colocar o alias. Por que isso?
Na aula 6(01) foi ensinado que no group by tenho que colocar a função toda, e não posso colocar o alias. Por que isso?
Olá Nicola, tudo bem?
Não é possível utilizar o ALIAS
no GROUP BY
, devido a ordem lógica de execução da consulta SQL, ou seja, como é feita a consulta internamente no banco de dados.
Como por exemplo, a ordem correta da sintaxe que escrevemos a consulta é:
1- SELECT
2- FROM
3- WHERE
4- GROUP BY
5- ORDER BY
Porém, internamente, a execução é feita em outra ordem:
1- FROM
2- WHERE
3- GROUP BY
4- SELECT
5- ORDER BY
FROM
, para identificar quais as tabelas que fazem parte da consultaWHERE
, para realizar o filtro das linhas que devem ser retornadas.GROUP BY
, que realiza o agrupamento das linhasSELECT
, que seleciona as linhas a serem retornadas, baseado no que já foi buscadoORDER BY
, ordena resultado a ser retornadoEsta ordem pode variar. Mas, normalmente o GROUP BY
sempre é executado antes do SELECT
, e como o ALIAS
é criado apenas após a execução do SELECT
, não é possível referência ao ALIAS
na cláusula GROUP BY
. Porém, podemos utilizar, por exemplo, o ALIAS
no ORDER BY
.
Abraços e bons estudos!
Muito obrigado Danielle :)