sql语句case when then end的详细讲解
时间: 2023-10-21 12:08:49 浏览: 136
SQL语言中,CASE WHEN THEN END是一种条件语句,用于根据指定的条件返回不同的结果。其基本语法如下:
```
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE default_result
END
```
其中,expression是待比较的表达式,value1、value2等是表达式可能取到的值,result1、result2等是对应的返回结果,default_result是当表达式不匹配任何值时的默认返回结果。
CASE语句的执行顺序是从上至下,一旦表达式匹配到一个值,就会返回对应的结果,并结束语句的执行。如果所有的值都没有匹配成功,就会返回default_result。
下面是一个简单的例子,用于根据分数返回相应的等级:
```
SELECT 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 students;
```
在上面的例子中,当score大于等于90时,返回A,其余同理。
CASE语句还可以嵌套使用,例如:
```
SELECT score,
CASE
WHEN score >= 60 THEN
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
ELSE 'D'
END
ELSE 'E'
END AS grade
FROM students;
```
上述示例中,当score小于60时,直接返回E;否则根据score的大小再进行一次嵌套判断,返回相应的等级。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.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)
![txt](https://img-home.csdnimg.cn/images/20241231045021.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)