mysql case when 例子
时间: 2023-07-06 08:43:41 浏览: 98
下面是一个 MySQL 中使用 CASE WHEN 的例子:
假设有一个表格叫做 `employees`,其中包含员工姓名、年龄和工资信息。我们想要根据员工的年龄来给他们的工资加一个额外的奖金。我们可以使用 CASE WHEN 语句来实现:
```
SELECT
name,
age,
salary,
CASE
WHEN age < 30 THEN salary + 1000
WHEN age >= 30 AND age < 40 THEN salary + 2000
WHEN age >= 40 AND age < 50 THEN salary + 3000
ELSE salary + 4000
END AS bonus
FROM
employees;
```
上面的语句会根据员工的年龄来添加相应的奖金,然后将包括奖金在内的工资信息返回。注意,这里使用了 `CASE WHEN` 语句来实现条件判断,可以根据需要添加更多的条件分支。
相关问题
MySQLcase when 嵌套 case when
MySQL的CASE WHEN语句是一种条件判断结构,它允许你在查询结果中基于特定条件返回不同的值。嵌套CASE WHEN用于处理更复杂的条件逻辑,当需要检查多个条件并返回相应的结果时非常有用。
嵌套CASE WHEN的工作原理是将一个CASE WHEN语句放在另一个CASE WHEN语句的内部,每个内部的WHEN条件都对应于外部CASE WHEN的一个可能结果。例如:
```sql
SELECT
CASE
WHEN condition1 THEN result1
ELSE (
CASE
WHEN condition2 THEN result2
ELSE (
CASE
WHEN condition3 THEN result3
ELSE default_result
END
)
END
)
END AS final_result
FROM table;
```
在这个例子中,如果`condition1`满足,则返回`result1`;否则,会检查`condition2`,如果满足则返回`result2`,否则继续检查`condition3`,以此类推。如果所有条件都不满足,最后返回默认结果`default_result`。
mysql case when用法简单的例子
下面是一个简单的 MySQL CASE WHEN 语句的例子:
假设有一个名为students的表,其中包含id, name 和 score三个字段。我们想要根据学生的考试成绩来查询他们的等级(优秀、良好、及格和不及格)。我们可以使用以下语句:
```
SELECT name, score,
CASE
WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 60 THEN '及格'
ELSE '不及格'
END AS grade
FROM students;
```
在上面的语句中,我们使用了 CASE WHEN 语句来设置学生的考试等级。如果 score 大于等于 90 分,则学生的等级为优秀;如果 score 大于等于 80 分,则学生的等级为良好;如果 score 大于等于 60 分,则学生的等级为及格;否则,学生的等级为不及格。通过使用 AS 子句,我们可以将等级设置为一个新的字段名,以便于查询结果的阅读。
阅读全文