为了查询已经检修了某两门课程的学生,你可以使用SQL的IN
子句来筛选出这些学生。
一、示例1:
假设有一个表student_courses
,其中包含学生ID和他们选修的课程ID,
学生ID:sid,学生名字:sname,
选修的课程ID:cid,课程名字:cname,
表如下:
查询示例如下:
SELECT DISTINCT sid
FROM student_courses
WHERE cid IN (cid1, cid2)
GROUP BY sid
HAVING COUNT(DISTINCT cid) = 2;
这里cid1
和cid2
是你想要查询的两门课程的ID。COUNT(DISTINCT cid)
保证了只要学生选了这两门课程,不管他选了多少门课程,只要确实选了这两门,就会被选出来。
结果:
确保你的表名和列名与上述示例相对应。如果你的表名或列名不同,请相应地修改查询。