SQL-запрос для зачисления на курсы Moodle

Я искал подходящие SQL-запросы для получения всех студентов, зачисленных на определенный курс, или всех курсов, на которые зачислен определенный студент, вМудл.

Я нашел несколько решений из Интернета, и большинство из них предлагают присоединиться к этим таблицам:
контекст, role_assignments, курс, пользователь, роль

Но потом, когда я посмотрел на базу данных, я обнаружил, что есть таблица с именемuser_enrolmentsи мне кажется, что я мог бы получить результаты, присоединившись к следующим таблицам:
user_enrolments, пользователь, курс, регистрация

Например,

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

а также

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

(где 5 - идентификатор ролиstudent)

Эти 2 запроса дают мнеТАК ЖЕ множество результатов. (проверено только на небольшом наборе данных)

Поэтому я хотел бы спросить, каковы различия между этими двумя подходами?
Спасибо за любую помощь заранее.

Ответы на вопрос(5)

Ваш ответ на вопрос