0
如果我的表格如下所示,如何选择给定学生的同学?如何从学生班级关联表中选择给定学生的同学?
student_class_assn
student_id class_id
1 1
2 1
3 1
4 2
5 2
6 3
例如,学生1
有学生2
和3
的同学。
请帮我写一个关于已知的student_id
的查询,并只选择同学(不包括给定的学生)。
这里是一个使用子选择的例子。但是,你能帮我用连接书写吗?
SET @KNOWN_STUDENT=1;
SELECT
student_id
FROM
student_class_assn
WHERE
class_id IN (
SELECT class_id FROM student_class_assn WHERE student_id = @KNOWN_STUDENT
)
AND student_id != @KNOWN_STUDENT;
鉴于我的桌子上面我希望每个下面的结果给出student_id
:
1 returns 2,3
2 returns 1,3
3 returns 1,2
4 returns 5
5 returns 4
6 returns NULL