admin 管理员组

文章数量: 1086019


2024年5月15日发(作者:mysql批量更新sql语句)

mysql case when 判断用法

在MySQL中,

CASE WHEN

是一种条件表达式,它允许你在查询中进行条件判断,并

根据条件返回不同的值。其基本语法如下:

sql

复制代码

CASE

WHEN condition1 THEN result1

WHEN condition2 THEN result2

...

ELSE result

END

你可以根据实际需要添加任意数量的

WHEN

条件,以及一个可选的

ELSE

子句。如果

所有条件都不满足,

ELSE

子句将返回指定的结果。

以下是一些使用

CASE WHEN

的示例:

1. 在SELECT查询中使用:

假设你有一个名为

students

的表,其中包含

score

列,你想根据分数给学生分类:

sql

复制代码

SELECT

score,

CASE

WHEN score >= 90 THEN 'A'

WHEN score >= 80 THEN 'B'

WHEN score >= 70 THEN 'C'

ELSE 'D'

END AS grade

FROM students;

在这个查询中,如果分数大于等于90,则返回 'A',如果分数在80到89之间,则

返回 'B',以此类推。

2. 在ORDER BY子句中使用:

你可以使用

CASE WHEN

ORDER BY

子句中进行条件排序:

sql

复制代码

SELECT *

FROM students

ORDER BY

CASE

WHEN score >= 90 THEN 1

WHEN score >= 80 THEN 2

WHEN score >= 70 THEN 3

ELSE 4

END;

在这个查询中,分数高的学生会首先被排序。

3. 在UPDATE语句中使用:

假设你想根据学生的分数更新他们的等级:

sql

复制代码

UPDATE students

SET grade =

CASE

WHEN score >= 90 THEN 'A'

WHEN score >= 80 THEN 'B'

WHEN score >= 70 THEN 'C'

ELSE 'D'

END;

在这个例子中,

grade

列的值会根据

score

列的值进行更新。

这只是

CASE WHEN

表达式在MySQL中的一些基本用法。你可以根据自己的需求调整

条件和结果,以满足特定的查询需求。


本文标签: 条件 查询 分数 子句 进行