在mysql中,查询并显示0001号课程每个学生的姓名和分数等级,大于或等于90等级为优秀,80-89等级为良,70-79等级为中,60-69等级为及格,小于60为不及格。成绩在grade表中,姓名在student表中,两表以学号进行连接
时间: 2024-10-13 17:16:39 浏览: 45
你可以使用SQL的CASE语句和JOIN操作来达到这个目的。假设你的表名为`grade`(包含学生ID(student_id)、课程ID(course_id)和分数(score))和`student`(包含学号(student_id)和姓名(name)),可以编写如下的查询:
```sql
SELECT s.name,
CASE
WHEN g.score >= 90 THEN '优秀'
WHEN g.score BETWEEN 80 AND 89 THEN '良'
WHEN g.score BETWEEN 70 AND 79 THEN '中'
WHEN g.score BETWEEN 60 AND 69 THEN '及格'
ELSE '不及格'
END AS grade_level
FROM student s
JOIN grade g ON s.student_id = g.student_id
WHERE g.course_id = 1;
```
这个查询首先通过JOIN将学生表和成绩表按学号关联起来,然后根据分数范围确定等级,并只显示0001号课程的学生。
阅读全文