Diante das aulas de sub-queries, observei que usando o join também poderia chegar ao mesmo resultado da sub-queries. No caso: Sub-queries
select a.nome, 
    (select count(r.id) from resposta r where r.aluno_id = a.id) as respostas 
from aluno a;Join
select a.nome, count(r.id) from aluno a
  join resposta r on a.id = r.aluno_id
  group by a.nome
  order by a.nome;A resposta é quando se usa a sub-queries ela te retorna até quem não respondeu, enquanto que no join somente quem respondeu. Por via de regra, ambos podem ser usados em todos os casos? Ou teria restrição?