mysql 查询学过1号课程又学过2号课程所有学生的姓名
时间: 2023-11-16 17:21:45 浏览: 85
查询至少学习了1号课程和2号课程的学生的学号,姓名的八种写法
4星 · 用户满意度95%
可以使用如下的 SQL 查询语句来实现:
```
SELECT s.name
FROM students s
WHERE s.id IN (
SELECT sc1.student_id
FROM scores sc1
WHERE sc1.course_id = 1
) AND s.id IN (
SELECT sc2.student_id
FROM scores sc2
WHERE sc2.course_id = 2
);
```
其中,students 表存储了学生的信息,包括 id 和 name 字段;scores 表存储了学生成绩的信息,包括 student_id、course_id 和 score 字段。这个查询语句使用了两个子查询,分别查找学过 1 号课程和 2 号课程的学生,然后将两个子查询的结果取交集,即可得到所有学过这两门课程的学生姓名。
阅读全文