在学生信息表和成绩表中,查找选修了至少两门和‘苏畅’选修课程一样的学生的学号、姓名及课程号;
时间: 2024-11-25 07:05:34 浏览: 9
2013212042-苏畅1
为了找到选修了至少两门课程并且与苏畅选课相同的学号、姓名以及课程号,你需要执行一个SQL查询,假设学生信息表名为`students`,包含字段如`student_id`, `name`, 学号为`student_num`,成绩表为`grades`,包含字段如`student_id`, `course_id`, `score`,其中`course_id`表示课程编号,`苏畅`对应的学生ID为`suo_chuang_id`。
可以使用以下SQL查询:
```sql
SELECT s.student_num, s.name, g.course_id
FROM students s
JOIN grades g ON s.student_id = g.student_id
WHERE s.student_id IN (
SELECT student_id
FROM grades
WHERE student_id = suo_chuang_id
GROUP BY course_id
HAVING COUNT(*) >= 2
)
GROUP BY s.student_id, g.course_id
HAVING COUNT(DISTINCT g.course_id) = 1;
```
这个查询首先从`grades`表中找出苏畅(`suo_chuang_id`)所选的所有课程及其对应的学号,然后在`students`表中筛选出选修了这些课程且每个课程只有一门的学生。
阅读全文