关于 case when的练习题
时间: 2023-09-15 13:05:37 浏览: 57
### 回答1:
好的,这是一些关于 `CASE WHEN` 的练习题:
1. 如果分数大于等于 60,则输出 "及格",否则输出 "不及格"
```
SELECT
CASE
WHEN score >= 60 THEN '及格'
ELSE '不及格'
END AS result
FROM scores;
```
2. 如果性别为 "男",则输出 "男性",如果性别为 "女",则输出 "女性",否则输出 "未知"
```
SELECT
CASE
WHEN gender = '男' THEN '男性'
WHEN gender = '女' THEN '女性'
ELSE '未知'
END AS result
FROM people;
```
3. 如果订单状态为 "已完成",则输出 "已完成",如果订单状态为 "未完成",则输出 "未完成",否则输出 "其他"
```
SELECT
CASE
WHEN order_status = '已完成' THEN '已完成'
WHEN order_status = '未完成' THEN '未完成'
ELSE '其他'
END AS result
FROM orders;
```
希望这些练习题对您有所帮助。
### 回答2:
Case when是一种SQL语句中的条件表达式,用于根据不同的条件执行不同的操作或返回不同的结果。下面是一个关于case when的练习题的解答:
假设我们有一个学生表(Student),包含学生的姓名、年龄和成绩三个字段。现在我们需要根据学生成绩的不同范围,将学生分为三个等级:优秀、良好和及格。其中,成绩大于等于90分为优秀,成绩大于等于80分为良好,其余为及格。
可以使用以下的SQL语句来解决这个问题:
```sql
SELECT
姓名,
CASE
WHEN 成绩 >= 90 THEN '优秀'
WHEN 成绩 >= 80 THEN '良好'
ELSE '及格'
END AS 等级
FROM
Student;
```
在这个语句中,我们首先选择了姓名字段,并使用CASE WHEN语句根据成绩的不同情况来确定学生的等级。首先判断成绩是否大于等于90,如果是则返回'优秀',否则继续判断成绩是否大于等于80,如果是则返回'良好',否则返回'及格'。最后,将结果命名为'等级',并从Student表中查询。
通过上述查询语句,我们可以获得一个包含学生姓名和等级的查询结果,这样就能根据学生成绩的不同范围对学生进行分类,便于统计和分析。
### 回答3:
案例一:根据学生的分数设置等级
假设有一个学生考试的分数表,表中有学生的姓名和对应的分数。要求根据学生的分数,确定他们的等级,并且将结果显示在结果列中。
解决方案:
使用CASE WHEN语句来实现。
SELECT
学生姓名,
分数,
CASE
WHEN 分数 >= 90 THEN '优秀'
WHEN 分数 >= 80 THEN '良好'
WHEN 分数 >= 70 THEN '中等'
WHEN 分数 >= 60 THEN '及格'
ELSE '不及格'
END AS 等级
FROM
学生成绩表;
案例二:将英文等级转换为数字等级
假设有一个学生英文成绩表,表中有学生的姓名和对应的英文等级(A、B、C、D、E)。要求将英文等级转换为对应的数字等级,并且将结果显示在结果列中。
解决方案:
使用CASE WHEN语句来实现。
SELECT
学生姓名,
英文等级,
CASE
WHEN 英文等级 = 'A' THEN '5'
WHEN 英文等级 = 'B' THEN '4'
WHEN 英文等级 = 'C' THEN '3'
WHEN 英文等级 = 'D' THEN '2'
WHEN 英文等级 = 'E' THEN '1'
ELSE '未知'
END AS 数字等级
FROM
英文成绩表;
以上两个案例都是使用CASE WHEN语句根据不同的条件进行判断,并根据条件的满足情况返回不同的结果。使用CASE WHEN语句可以在查询结果中添加一列来显示基于条件的计算结果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.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)