mysql中查询没有选修某两门课的_某学校教师、学生、课程及成绩MySQL分析
时间: 2023-12-19 12:06:49 浏览: 92
基于C#+SQL Server(CS界面)学生选课及成绩查询管理系统【100010027】
5星 · 资源好评率100%
可以通过以下SQL语句查询没有选修某两门课的学生:
```
SELECT student_id, student_name
FROM student
WHERE student_id NOT IN (
SELECT student_id
FROM score
WHERE course_name IN ('课程名1', '课程名2')
)
```
其中,`student` 表为学生表,包含学生的ID和姓名;`score` 表为成绩表,包含学生ID、课程名和成绩。通过子查询,筛选出选修了指定课程的学生,然后在学生表中使用 `NOT IN` 进行排除即可。
如果要查询没有选修某两门课的教师,可以类似地使用以下SQL语句:
```
SELECT teacher_id, teacher_name
FROM teacher
WHERE teacher_id NOT IN (
SELECT teacher_id
FROM course
WHERE course_name IN ('课程名1', '课程名2')
)
```
其中,`teacher` 表为教师表,包含教师的ID和姓名;`course` 表为课程表,包含课程名和授课教师ID。同样地,通过子查询筛选出授课了指定课程的教师,然后在教师表中使用 `NOT IN` 进行排除即可。
如果要查询没有选修某两门课的课程,可以使用以下SQL语句:
```
SELECT course_id, course_name
FROM course
WHERE course_id NOT IN (
SELECT course_id
FROM score
WHERE course_name IN ('课程名1', '课程名2')
)
```
其中,`course` 表为课程表,包含课程的ID和名称。同样地,通过子查询筛选出有学生选修了指定课程的课程,然后在课程表中使用 `NOT IN` 进行排除即可。
阅读全文