Olá Felipe, tudo bem?
O ALIAS é utilizado para dar a uma coluna, uma subconsulta e uma tabela um nome diferente. Então caso não é possível realizar a consulta sem o ALIAS, depois que você definir um ALIASpara uma tabela ou para uma Subconsulta como foi feito na atividade, você passa a referenciar as mesmas através do ALIAS.
(SELECT CPF, COUNT(*) AS CONTADOR FROM notas_fiscais
WHERE YEAR(DATA_VENDA) = 2016
GROUP BY CPF) X
Depois da Subconsulta você informa qual será o ALIAS utilizado, como no exemplo acima, o ALIAS da Subconsulta é X, então onde for necessário referenciar a Subconsulta , será utilizado o ALIAS.
Como no Select externo da consulta:
SELECT X.CPF, X.CONTADOR FROM
Nesta parte do Select, está sendo selecionado apenas o campo CPF e o campo CONTADOR o ALIAS X é usado para informar ao banco de dados que estes campos devem ser buscados na Subconsulta.
WHERE X.CONTADOR > 2000
Como também foi utilizado o ALIAS na condição do Select, neste caso só devem ser retornados o CPF e CONTADOR onde o valor do contador também da Subconsulta seja maior que 2000.
E o having count (*) > 2000
também pode ser utilizado dentro da Subconsulta, o resultado seria o mesmo, na atividade foi utilizado desta forma, apenas para demonstrar uma forma de se utilizar a Subconsulta.
Você pode ver mais sobre ALIAS e
Subconsulta acessando a documentação do MySQL.
Espero ter ajudado, qualquer dúvida é só falar e bons estudos!