Com having seria a melhor maneira de se fazer a consulta. Sei que por questões didáticas pediu-se para substituir o having por uma sub consulta porem acredito que esse exercício, segue abaixo, ficaria melhor solicitando o inverso e estimulando a melhor forma pelo menos nesse cenário.
Com having terei uma performance melhor de que com uma sub consulta? Ou pelo menos o entendimento da consulta fica melhor para nós e para o prórprio SQL SERVER.
Qual seria a consulta, usando sub-consulta, que seria equivalente a:
SELECT CPF, COUNT() FROM [NOTAS FISCAIS] WHERE YEAR(DATA) = 2016 GROUP BY CPF HAVING COUNT() > 2000 VER OPINIÃO DO INSTRUTOR Opinião do instrutor
A consulta seria:
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