1
resposta

select - primeira tabela a utilizar

Boa noite!

Fiz desse jeito:

select c.nome, count(m.id) as QTDE , count(m.id) / (select count(m2.id) from matricula m2) as divisao from matricula m join curso c on c.id = m.curso_id group by c.nome;

Ficou inverso a resposta do exercicio, que é assim: select c.nome, count(m.id), count(m.id)/(select count(id) from matricula) from curso c join matricula m on m.curso_id = c.id group by c.nome

Usei matricula como a primeira tabela, enquanto a resposta usa curso como a primeira tabela.

O resultado foi o mesmo, mas minha dúvida é se em outra situação, essa inversão faria diferença no resultado.

1 resposta

Jonas, resumindo vai depender de muitos fatores. A nível de resultado, não.

Mas, para melhorar a eficiência das suas pesquisas, você precisaria utilizar índices, utilizar mais joins do que sub-selects...

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