检索至少选修了c2和c3的学生学号,姓名,课程号
时间: 2023-10-30 09:04:45 浏览: 168
检索选修全部课程的学生姓名。-关系数据库理论基础第二章
好的,根据你的要求,可以使用以下 SQL 查询语句:
```
SELECT s.sno, s.sname, sc.cno
FROM student s, sc
WHERE s.sno = sc.sno
AND sc.cno IN ('c2', 'c3')
GROUP BY s.sno, s.sname, sc.cno
HAVING COUNT(DISTINCT sc.cno) = 2;
```
这条 SQL 语句会查询出选修了 c2 和 c3 两门课程的学生学号、姓名和课程号。其中,使用了学生表(student)和选课表(sc)两张表,通过学生表中的学号(sno)和选课表中的学号(sno)进行关联查询。同时,使用了 IN 子句来判断课程号是否包含 c2 或 c3,使用了 GROUP BY 和 HAVING 子句进行分组和筛选,确保只有同时选修了 c2 和 c3 两门课程的学生被查询出来。
阅读全文