mysql WHEN
时间: 2023-06-28 12:03:58 浏览: 44
MySQL中的WHEN是一个条件表达式,通常用于SELECT语句的查询条件中。
在SELECT语句中,可以使用CASE...WHEN...THEN...ELSE...END语句来进行条件判断。例如:
```
SELECT
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
WHEN score >= 60 THEN 'D'
ELSE 'F'
END AS grade
FROM students;
```
这个查询会根据学生的成绩来计算他们的等级(A、B、C、D或F)。WHEN关键字被用来定义每个条件,然后在满足该条件时执行对应的操作(在本例中,返回相应的等级)。ELSE关键字指定了当没有匹配到任何条件时所执行的操作(在本例中,返回F等级)。
除了SELECT语句中,WHEN还可以在其他查询语句中使用,例如UPDATE和DELETE语句的WHERE条件中。
相关问题
mysql when case
MySQL中的`CASE`语句用于在查询中进行条件判断和返回不同的结果。它有两种形式:简单`CASE`表达式和搜索条件`CASE`表达式。
1. 简单`CASE`表达式:
```sql
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE result
END
```
在这种形式中,`expression`是要比较的值,每个`WHEN`子句后面的`value`是要匹配的值,然后返回对应的`result`。如果没有匹配到任何值,则返回`ELSE`后面的`result`。
示例:
```sql
SELECT column_name,
CASE grade
WHEN 'A' THEN '优秀'
WHEN 'B' THEN '良好'
WHEN 'C' THEN '及格'
ELSE '不及格'
END AS result
FROM students;
```
2. 搜索条件`CASE`表达式:
```sql
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
在这种形式中,每个`WHEN`子句后面的`condition`是一个布尔表达式,根据条件判断返回对应的结果。
示例:
```sql
SELECT column_name,
CASE
WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 60 THEN '及格'
ELSE '不及格'
END AS result
FROM students;
```
这就是MySQL中使用`CASE`语句的基本用法。根据具体情况选择适合的形式来使用,以满足查询条件和返回需要的结果。
MySQL when then 用法
MySQL中的CASE语句可以使用WHEN THEN语句来实现条件判断和分支控制。
具体的用法为:
```
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE resultN
END;
```
其中,expression是需要进行判断的表达式,value1、value2等是需要判断的值,result1、result2等是对应的结果。如果expression等于某个value,则返回对应的result;如果不等于任何value,则返回ELSE后面的resultN。
例如,我们可以使用以下语句来实现根据学生成绩等级进行分类:
```
SELECT
CASE
WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 60 THEN '及格'
ELSE '不及格'
END AS grade
FROM
student;
```
这里,当学生成绩大于等于90分时,返回优秀;当学生成绩大于等于80分时,返回良好;当学生成绩大于等于60分时,返回及格;否则返回不及格。最终的结果集中会包含一个名为grade的列,该列的值为每个学生的成绩等级。