case when then else end语法
时间: 2023-10-19 20:36:07 浏览: 47
CASE WHEN THEN ELSE END语法是一种在SQL语句中用于条件逻辑的表达方式。它允许根据特定条件来选择不同的结果。
基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,`condition1`、`condition2`等是条件表达式,用于判断是否满足特定条件。`result1`、`result2`等是根据条件的结果,可以是具体的值、表达式或者列名。
示例:
假设有一个名为`score`的表,包含学生姓名和成绩两列。我们想要根据成绩判断学生的等级。
```sql
SELECT name,
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
ELSE 'D'
END AS grade
FROM score;
```
以上示例中,根据不同的成绩范围,给学生分配了不同的等级,并将结果命名为`grade`列。
请注意,CASE语句中的条件是按顺序依次判断,一旦满足条件,后面的条件将不再判断。如果所有条件都不满足,则返回ELSE后面的结果。
相关问题
case when then else end 语法
CASE WHEN THEN ELSE END 是一种 SQL 语句中的条件表达式,它可以根据条件返回不同的结果。它的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
```
其中,`condition1`、`condition2` 等是条件表达式,`result1`、`result2` 等是对应条件表达式的结果。如果所有条件都不满足,则返回 `ELSE` 后面的结果 `resultN`。
例如,下面的 SQL 语句使用 CASE WHEN THEN ELSE END 来计算员工的薪水:
```
SELECT employee_name,
CASE
WHEN salary > 5000 THEN '高薪'
WHEN salary > 3000 THEN '中薪'
ELSE '低薪'
END AS salary_level
FROM employee;
```
这个语句会根据员工的薪水计算出对应的薪水等级,并将结果作为 `salary_level` 列返回。
update case when then else end用法
update case when then else end 是 SQL 语言中的一种条件更新语句,用于根据条件更新表中的数据。其基本语法如下:
```
UPDATE 表名 SET 列名 = CASE WHEN 条件1 THEN 值1
WHEN 条件2 THEN 值2
...
ELSE 值n
END
WHERE 条件;
```
其中,CASE WHEN THEN ELSE END 是一个条件表达式,用于根据不同的条件返回不同的值。在 UPDATE 语句中,它被用于更新指定列的值。
举个例子,假设有一个学生表(student),其中包含学生的姓名(name)、年龄(age)和性别(gender)三个字段。现在需要将所有女生的年龄加 1,男生的年龄不变。可以使用如下 SQL 语句:
```
UPDATE student SET age = CASE WHEN gender = '女' THEN age + 1 ELSE age END WHERE 1=1;
```
这条语句会将 student 表中所有女生的年龄加 1,男生的年龄不变。