1
resposta

Não consegui entender a logica por de trás desta subconsulta.

Não consegui entender a logica por de trás desta subconsulta. As letras (X) antes dos campos o que ajuda na subconsulta ?

SELECT X.CPF, X.CONTADOR FROM (SELECT CPF, COUNT(*) AS CONTADOR FROM [NOTAS FISCAIS] WHERE YEAR(DATA) = 2016 GROUP BY CPF) X WHERE X.CONTADOR > 2000

1 resposta

A letra X é muito mais uma boa prática ao escrever consultas SQL do que algo haver com subqueries basicamente ela é um ALIAS para a subquery.

Quanto a subquery do exemplo, ela não possuí vantagens práticas o resultado dela deve ser igual a:

SELECT CPF, COUNT(*) AS CONTADOR FROM [NOTAS FISCAIS] 
WHERE YEAR(DATA) = 2016 
GROUP BY CPF 
HAVING CONTATOR > 2000;

Mas, provavelmente tem um motivo didático para o curso.