Följande bör returnera alla studenter, med poäng från prov 32 om de finns.
SELECT scores.result,students.id,exam.name, exam.id
FROM exam
INNER JOIN scores ON exam.id = scores.exam_id
RIGHT OUTER JOIN students ON scores.user_id = students.user_id
WHERE exam.id = 32
Din select-sats använde inget från students_subjects eller aggregerade funktioner, så jag är inte säker på vad anslutningen till den var till för? Kanske kan du börja med ovanstående och bygga därifrån.
Edit:Ny strategi baserad på min första kommentar. Försök att hitta alla elever och hitta poäng som finns, null om ingen.
SELECT scores.result,students.id,exam.name, exam.id
FROM exam
INNER JOIN students_subjects ON students_subjects.group_id = exam.group_id
INNER JOIN students ON students_subjects.user_id = students.user_id
LEFT OUTER JOIN scores ON scores.user_id = students.user_id
AND scores.exam_id = exam.id
WHERE exam.id = 32