MySQL找出所有没有选修课成绩的学生学号和课程号:
时间: 2024-12-27 15:32:27 浏览: 8
在MySQL中,如果你想找出所有没有选修课成绩的学生学号和课程号,你可以使用LEFT JOIN配合IS NULL条件来实现这个查询。假设我们有两个表,一个是`students`表,包含字段如`s_id`(学生ID);另一个是`courses`表,包含字段如`c_id`(课程ID),以及一个关联学生选课的表`enrollments`,包含字段如`s_id`和`c_id`。
下面是一个基本的SQL查询示例:
```sql
SELECT s.id AS student_id, c.id AS course_id
FROM students s
LEFT JOIN enrollments e ON s.id = e.student_id
LEFT JOIN courses c ON e.c_id = c.id
WHERE e.s_id IS NULL;
```
这个查询的意思是首先将`students`表与`enrollments`表左连接,再与`courses`表做左连接,然后筛选出那些在`enrollments`表中没有匹配记录(即`s_id`为NULL)的学生。结果就是没有选修过任何课程的学生及其对应的课程ID。
阅读全文