Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Por que não posso utilizar o alias no group by?

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?

2 respostas
solução!

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

  • Primeiro o FROM, para identificar quais as tabelas que fazem parte da consulta
  • Segundo o WHERE, para realizar o filtro das linhas que devem ser retornadas.
  • Terceiro o GROUP BY, que realiza o agrupamento das linhas
  • Quarto o SELECT, que seleciona as linhas a serem retornadas, baseado no que já foi buscado
  • Quinto ORDER BY, ordena resultado a ser retornado

Esta 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!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Muito obrigado Danielle :)