orcle 查询学过“谌燕”老师所教的所有课的同学的学号、姓名;
时间: 2024-02-25 13:51:30 浏览: 20
假设您的学生和课程信息存储在以下两张表中:
- 学生表:student,包含字段 student_id(学号)和 student_name(姓名)。
- 课程表:course,包含字段 course_id(课程号)和 course_name(课程名)。
同时,您还有一张选课表 selection,其中包含学生选课信息,包括学生的学号和所选课程的课程号。为了查询学过“谌燕”老师所教的所有课的同学的学号和姓名,您可以按照以下步骤进行操作:
1. 找到“谌燕”老师所教授的所有课程。
```
SELECT course_id
FROM course
WHERE course_teacher = '谌燕';
```
2. 找到选了上述课程的学生。
```
SELECT DISTINCT student_id
FROM selection
WHERE course_id IN (
SELECT course_id
FROM course
WHERE course_teacher = '谌燕'
);
```
3. 将上述查询结果与学生表进行 JOIN,获取学生的学号和姓名。
```
SELECT s.student_id, s.student_name
FROM student s
JOIN (
SELECT DISTINCT student_id
FROM selection
WHERE course_id IN (
SELECT course_id
FROM course
WHERE course_teacher = '谌燕'
)
) t
ON s.student_id = t.student_id;
```
综合以上三个查询,您可以得到学过“谌燕”老师所教的所有课的同学的学号和姓名。