case when 怎么用
时间: 2023-07-17 10:03:38 浏览: 49
`CASE WHEN` 是 SQL 中的条件语句,用于根据一定的条件判断来返回不同的结果。语法如下:
```
CASE WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
```
其中,`condition1`、`condition2` 等是条件表达式,可以是任意的布尔表达式;`result1`、`result2` 等是对应条件表达式为真时的返回结果;`default_result` 是当所有条件表达式都为假时的默认返回结果。
例如,我们有一个 `students` 表,其中包含学生的姓名和分数两个字段,现在需要根据分数给出评级。如果分数大于等于 90 分,则为 A 级,大于等于 80 分则为 B 级,大于等于 70 分则为 C 级,否则为 D 级。可以使用 `CASE WHEN` 语句来实现,如下所示:
```
SELECT name, score,
CASE WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
ELSE 'D'
END AS grade
FROM students;
```
上述 SQL 语句会查询出每个学生的姓名、分数以及对应的评级,并将评级作为新列 `grade` 返回。
相关问题
case when使用
case when是一种条件语句,用于根据不同的条件返回不同的结果。在SQL查询中,可以使用case when来实现对某一列进行条件判断并返回相应的结果。其中,可以根据不同的条件分别设定对应的结果。
例如,可以使用case when来根据员工的职级(job_level)来判断并返回相应的结果。比如,当职级为1时,返回'1111',当职级为2时,返回'1111',当职级为3时,返回'1111',否则返回'eee'。这个查询语句可以写成:
SELECT
CASE job_level
WHEN '1' THEN '1111'
WHEN '2' THEN '1111'
WHEN '3' THEN '1111'
ELSE 'eee'
END
FROM dbo.employee
除此之外,case when还可以结合其他条件语句一起使用,如where语句。在where语句后面使用case when时,需要注意一些情况,比如语句的执行顺序和判断式的写法。
总之,case when可以根据不同的条件返回不同的结果,可以在查询语句中灵活运用,实现数据分组、条件判断等各种功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [case when的使用方法](https://blog.csdn.net/sofeware333/article/details/115967276)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [CASE When的用法](https://blog.csdn.net/qq_42707594/article/details/122195661)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
case when 使用方式
CASE WHEN语句是一种在SQL中使用的条件达式,它允许根据满足特定条件的不同情况来执行不同的操作。它的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,condition1、condition2等是条件表达式,result1、result2等是满足对应条件时的结果。当满足某个条件时,CASE WHEN语句会返回对应的结果。如果没有任何条件满足,可以使用ELSE子句指定一个默认结果。
下面是一个示例,展示了如何使用CASE WHEN语句:
假设有一个学生成绩表,包含学生姓名和成绩两列。我们想根据成绩的范围给出不同的评价,可以使用CASE WHEN语句来实现:
```
SELECT
name,
CASE
WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 70 THEN '中等'
WHEN score >= 60 THEN '及格'
ELSE '不及格'
END AS evaluation
FROM
student_scores;
```
以上查询将根据成绩的范围给出相应的评价,例如,如果成绩为85,则评价为"良好"。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)