mysql查询某个学生的成绩,并根据分数确定档次,显示学号,分数,档次
时间: 2023-09-23 16:08:29 浏览: 35
假设有以下学生成绩表,表名为`score`,包含学号`sid`和分数`score`两列:
| sid | score |
| ---- | ----- |
| 001 | 85 |
| 002 | 92 |
| 003 | 78 |
| 004 | 65 |
| 005 | 99 |
我们可以使用以下 SQL 语句查询某个学生的成绩,并根据分数确定档次:
```sql
SELECT sid, score,
CASE
WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 60 THEN '及格'
ELSE '不及格'
END AS level
FROM score
WHERE sid = '001';
```
解释一下上面的 SQL 语句:
- `SELECT sid, score`: 查询学号和分数两列。
- `CASE WHEN... END AS level`: 根据分数确定档次,并将档次命名为`level`。
- `WHERE sid = '001'`: 查询学号为`001`的学生成绩。
执行以上 SQL 语句,会得到以下结果:
| sid | score | level |
| ---- | ----- | ----- |
| 001 | 85 | 良好 |
相关问题
mysql查询某个学生的成绩,并根据分数确定档次,显示学号,分数,档次 使用流程控制的方法
可以使用以下 SQL 语句来实现:
```
SELECT
student_id,
score,
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
WHEN score >= 60 THEN 'D'
ELSE 'E'
END AS grade
FROM
scores
WHERE
student_id = '学生的学号';
```
这个语句会根据输入的学号查询该学生的成绩,并根据分数确定档次(使用了流程控制的 CASE 语句)。最终显示学号、分数、档次三个字段。注意要将 `学生的学号` 替换为真正的学号。
用mysql查询某个学生的高等数学成绩,并根据分数确定档次,显示学号、分数、档次。成绩大于等于60分档次为 “及格”,小于60分档次“不及格”,为NULL档次为“无成绩”。
可以使用如下的SQL语句来实现:
```
SELECT
学号,
高等数学,
CASE
WHEN 高等数学 >= 60 THEN '及格'
WHEN 高等数学 < 60 AND 高等数学 IS NOT NULL THEN '不及格'
ELSE '无成绩'
END AS 档次
FROM
学生表
WHERE
学号 = '某个学生的学号';
```
其中,`学生表`为你的学生信息表,`学号`和`高等数学`为该表中的字段,需要根据你的实际情况进行修改。在查询时,使用`WHERE`子句来限定查询的学生,最后使用`CASE`语句根据分数确定档次。