SQL 数据查询 查询选择了同一门课程的两个不同学生的学号及其课程号

* 学生表S(S#,SNAME,SEX,AGE),其中属性的含义依次为学号、姓名、性别、年龄,主键为S#;
* 课程表C(C#,CNAME,TEACHER),其中属性的含义依次为课程号、课程名、任课教师,主键为C#;
* 选修课表SC(S#,C#,GRADE),其中属性的含义依次为学号、课程号、课程成绩,主键为(S#,C#);

查询选择了同一门课程的两个不同学生的学号及其课程号,如(S01, S02, C01)表示学生S01和S02都选修了课程C01。

第1个回答  2015-06-21
select s.s#,c.c#
from sc,s,c
where sc.s#=s.s# and sc.c#=c.c#
having count(sc.s#)=2;
--只包含两个不同的学生 count(sc.s#)>1  --两个或两个以上的学生

本回答被网友采纳
相似回答