sql中case when then end
时间: 2023-11-25 14:47:26 浏览: 32
在SQL中,CASE WHEN THEN END是一种条件表达式,它可以根据条件的结果返回不同的值。它的语法结构如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,condition1、condition2等是条件表达式,result1、result2等是对应条件表达式的结果。如果所有条件都不满足,则返回ELSE后面的结果。CASE WHEN THEN END可以用于SELECT语句、WHERE子句、ORDER BY子句等多个场景中。
相关问题
SQL中case when then else end用法
case when then else end 是 SQL 中的条件表达式,用于在查询中根据条件选择不同的值或执行不同的操作。它的基本语法如下:
```sql
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,condition1、condition2等是逻辑表达式,result1、result2等是相应条件满足时返回的结果。
下面是一个简单的例子,根据学生的分数返回不同的等级:
```sql
SELECT student_name, score,
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;
```
在上面的例子中,当分数大于等于90时返回'A',大于等于80时返回'B',以此类推,如果都不满足则返回'F'。
sql语句case when then end的详细讲解
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的大小再进行一次嵌套判断,返回相应的等级。