Consulta SQL para inscrição de cursos no Moodle

Eu estava procurando as consultas SQL apropriadas para recuperar todos os alunos matriculados em um determinado curso ou todos os cursos em que um determinado aluno se matriculou, emMoodle.

Encontrei algumas soluções na Internet e a maioria delas sugere ingressar nessas tabelas:
contexto, atribuições de função, curso, usuário, função

Mas então, quando olhei para o banco de dados, descobri que há uma tabela chamadauser_enrolments, e parece-me que eu poderia obter os resultados ingressando nas seguintes tabelas:
user_enrolments, usuário, curso, inscrição

Por exemplo,

SELECT u.id, c.id
FROM mdl_user u
INNER JOIN mdl_user_enrolments ue ON ue.userid = u.id
INNER JOIN mdl_enrol e ON e.id = ue.enrolid
INNER JOIN mdl_course c ON e.courseid = c.id

e

SELECT u.id, c.id
FROM mdl_user u
INNER JOIN mdl_role_assignments ra ON ra.userid = u.id
INNER JOIN mdl_context ct ON ct.id = ra.contextid
INNER JOIN mdl_course c ON c.id = ct.instanceid
INNER JOIN mdl_role r ON r.id = ra.roleid
WHERE r.id = 5

(em que 5 é o ID da funçãostudent)

Essas 2 consultas me dão aMESMO conjunto de resultados. (testado apenas em um pequeno conjunto de dados)

Então, eu gostaria de perguntar quais são as diferenças entre as duas abordagens?
Obrigado por qualquer ajuda com antecedência.

questionAnswers(5)

yourAnswerToTheQuestion