João tem pouca experiência com SQL, mas precisa de uma cons...
![](https://qcon-assets-production.s3.amazonaws.com/images/provas/106064/Screenshot_1.png)
![Imagem associada para resolução da questão](https://qcon-assets-production.s3.amazonaws.com/images/provas/106072/Screenshot_2.png)
Dado que a resposta correta deve exibir somente o competidor B, conclui-se que:
A primeira query está errada pois aquele HAVING na verdade não está filtrando nada.
having count(distinct d.azul) = count(distinct d.verde), como existem 4 registros diferentes na coluna d.azul e 4 registros diferentes na d.verde, essa condição é a mesma coisa que having 4 = 4, logo todas as linhas serão retornadas pois todas vão atender essa condição.
Já a terceira query tá com erro de sintaxe naquele subselect.
select sum(1) where d.azul = c.nome
A segunda query está certinha, ela só retorna o registro se o número de vezes que ele apareceu em d.azul for igual ao numero de vezes que ele apareceu em d.verde
Então letra C é a alternativa certa.
Não manjo muito de linguagem SQL marquei a primeira por causa do count e imaginei que ele queria contar