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

Dúvida a respeito do SQL

Boa tarde. Gostaria de saber qual a diferença entre esse select

SELECT E.PERGUNTA AS PERGUNTAS, COUNT(R.ID) AS QUANTIDADE FROM RESPOSTA R
JOIN EXERCICIO E ON R.EXERCICIO_ID = E.ID
GROUP BY E.PERGUNTA;

e esse aqui:


    SELECT E.PERGUNTA AS PERGUNTAS, R.ID AS QUANTIDADE FROM RESPOSTA R
    JOIN EXERCICIO E ON R.EXERCICIO_ID = E.ID;

Tipo, eu vi que o resultado é diferente. Mas não entendi exatamente o porquê que isso acontece.

2 respostas

Aparentemente, o primeiro select está contando a quantidade de R.ID, já o segundo está trazendo tudo de R.ID, a diferença é que o primeiro conta quantas vezes existem R.ID e o outro não.

solução!

Boa tarde Giovani. O COUNT é um parâmetro que retorna a quantidade de campos, então, no primeiro select, ele retorna a quantidade de "R.ID" para cada "E.PERGUNTA".

No segundo select, ele retorna os campos E.PERGUNTA e R.ID de acordo com o JOIN feito.