SELECT * FROM Student s
LEFT JOIN Course c ON s.id=c.student_id AND c.grade = 'C'
WHERE c.student_id IS NULL;
Или присоединиться к вашему подзапросу
SELECT * FROM Student s
LEFT JOIN (SELECT student_id FROM Course WHERE grade = 'C') c
WHERE c.student_id IS NULL;
Или использование существует
SELECT * FROM Student s
WHERE NOT EXISTS (SELECT NULL FROM Course WHERE grade = 'C' AND student_id=s.id);
Боюсь, я не могу проверить это в данный момент, и у меня есть подозрениечто эти запросы могут вам не помочь.У меня нет опыта работы с ActiveRecord.Дайте мне знать в комментариях.