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?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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 :)