Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida no Ex. 2 da Aula 3 - Agrupando dados com GROUP BY

se o meu select foi :

{select c.nome, count(m.curso_id) from matricula m

join curso c on c.id = m.curso_id group by c.nome ;}

e a resposta do exercício foi :

{select c.nome, count(m.id) from curso c

join matricula m on c.id = m.curso_id group by c.nome ;}

por que os dois selects retornaram a mesma query ?

pois a conta do m.curso_id ela n deveria ser diferente da conta do m.id

1 resposta
solução!

Julio basicamente as duas sql's estão fazendo a mesma coisa de ordem diferente, não importa se começou do curso:

from curso

Ou da matricula:

from matricula

O join acaba sendo o mesmo.

Em relação ao count ele retorna a mesma quantidade pois não interessa qual campo de uma tabela você passe para ele contar, ele sempre vai contar todos os registros que foi encontrado seja pelo id ou descrição, portanto:

count(id)
coun(descricao)
count(valor)
count(idoutratabela)
count(*)
count(1)

Todos retornaram a mesma quantidade desde que sejam da mesma tabela.

Ficou mais claro sua dúvida ?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software