查询有2门以上课程是90分以上的学生的学号及(90分以上的)课程数
时间: 2024-09-20 08:08:27 浏览: 142
查询有2门以上课程成绩达到90分以上的学生信息,通常需要使用SQL查询语言。假设我们有一个学生表(students)和一门课程表(courses),学生表包含学号(student_id)、姓名等字段,而课程表包含课程ID(course_id)、学生ID(student_id)以及课程分数(score)字段。我们可以编写如下的SQL语句:
```sql
SELECT s.student_id, COUNT(c.course_id) AS course_count
FROM students s
JOIN courses c ON s.student_id = c.student_id
WHERE c.score >= 90
GROUP BY s.student_id
HAVING COUNT(c.course_id) > 1;
```
这个查询做了以下几件事:
1. `JOIN` 学生表和课程表基于学生ID关联。
2. `WHERE` 条件筛选出课程分数大于等于90的记录。
3. `GROUP BY` 按照学生ID对结果进行分组,每个学生的所有课程都会被计算在一起。
4. `COUNT(c.course_id)` 计算每个学生选修了多少门课程。
5. `HAVING` 条件进一步筛选出课程数超过1的记录,即成绩达到90分及以上并且选修了至少两门课程的学生。
阅读全文