Probablemente el más simple, limpio y rápido para solo dos estudiantes :
SELECT count(*) AS ct
FROM student_club x
JOIN student_club y USING (stud_id)
WHERE x.club_id = 30
AND y.club_id = 50;
No necesitas unirte al student
tabla para esto en absoluto - tan pronto como sepa la lista de stud_id
te interesa.
Para cualquier número de estudiantes , la consulta de Martin es más conveniente. Puedes simplificar de manera similar:
SELECT count(*) AS ct
FROM (
SELECT stud_id
FROM student_club
WHERE club_id IN (30, 50)
GROUP BY 1
HAVING count(*) = 2 -- adapt to number of items in list
) x;
Requiere que (stud_id, club_id)
es único, por supuesto, y los elementos de la lista también son únicos.