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 :)