case when and多条件判断
时间: 2024-07-12 10:01:33 浏览: 89
在SQL中,`CASE WHEN` 是一种用于执行多条件判断的语句结构,它根据给定的条件返回不同结果。`CASE` 表达式的基本语法如下:
```sql
CASE
WHEN condition_1 THEN result_1
[WHEN condition_2 THEN result_2]
...
ELSE default_result
END as column_name
```
这里的 `condition_n` 是你要测试的布尔表达式或比较操作,如果满足该条件,则返回相应的 `result_n`;如果不满足任何条件,则会执行 `ELSE` 子句中的默认值(如果有的话),通常用于处理未匹配情况。
例如,如果你想根据学生的分数决定他们的等级:
```sql
SELECT
id,
CASE
WHEN score > 90 THEN 'A'
WHEN score BETWEEN 80 AND 90 THEN 'B'
WHEN score BETWEEN 70 AND 79 THEN 'C'
WHEN score BETWEEN 60 AND 69 THEN 'D'
ELSE 'F'
END AS grade
FROM students;
```
在这个例子中,`CASE` 根据不同的分数范围为学生分配等级。
相关问题
CASE WHEN 怎么多条件判断来的
CASE WHEN语句是SQL语言中一种条件表达式,可以用于根据不同的条件返回不同的结果。它通常具有以下语法形式:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN condition3 THEN result3
...
ELSE default_result
END
```
其中,`condition1`、`condition2`、`condition3`等表示要判断的条件,`result1`、`result2`、`result3`等表示当条件成立时要返回的结果,`default_result`表示当所有条件都不成立时的默认返回结果。
CASE WHEN语句可以支持多个条件判断,即可以根据多个条件来返回不同的结果。例如:
```
SELECT
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 AND score < 90 THEN 'B'
WHEN score >= 70 AND score < 80 THEN 'C'
ELSE 'D'
END AS grade
FROM
student_scores;
```
上述SQL语句会根据学生的分数,将其转化为对应的等级(A、B、C、D)。其中,根据学生分数的不同,采用了多个条件判断来返回不同的结果。
case when 怎么多条件判断来的
CASE WHEN语句是SQL语言中一种条件表达式,可以用于根据不同的条件返回不同的结果。它通常具有以下语法形式:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN condition3 THEN result3
...
ELSE default_result
END
```
其中,`condition1`、`condition2`、`condition3`等表示要判断的条件,`result1`、`result2`、`result3`等表示当条件成立时要返回的结果,`default_result`表示当所有条件都不成立时的默认返回结果。
CASE WHEN语句可以支持多个条件判断,即可以根据多个条件来返回不同的结果。例如:
```
SELECT
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 AND score < 90 THEN 'B'
WHEN score >= 70 AND score < 80 THEN 'C'
ELSE 'D'
END AS grade
FROM
student_scores;
```
上述SQL语句会根据学生的分数,将其转化为对应的等级(A、B、C、D)。其中,根据学生分数的不同,采用了多个条件判断来返回不同的结果。
阅读全文