oracle 查询和“s001”号的同学学习的课程完全相同的其他同学学号和姓名;
时间: 2024-02-25 16:51:35 浏览: 149
假设您的学生和选课信息存储在以下两张表中:
- 学生表:student,包含字段 student_id(学号)和 student_name(姓名)。
- 选课表:selection,包含字段 student_id(学号)和 course_id(课程号)。
为了查询和“s001”号的同学学习的课程完全相同的其他同学学号和姓名,您可以按照以下步骤进行操作:
1. 找到“s001”号同学所选的所有课程。
```
SELECT course_id
FROM selection
WHERE student_id = 's001';
```
2. 找到选了上述课程的其他同学。
```
SELECT DISTINCT student_id
FROM selection
WHERE course_id IN (
SELECT course_id
FROM selection
WHERE student_id = 's001'
)
AND student_id != 's001';
```
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 selection
WHERE student_id = 's001'
)
AND student_id != 's001'
) t
ON s.student_id = t.student_id;
```
综合以上三个查询,您可以得到和“s001”号的同学学习的课程完全相同的其他同学的学号和姓名。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)