case when then else end

导读 `CASE WHEN THEN ELSE END` 是 SQL 语句中常用的条件逻辑表达式。它在 SQL 查询中用于根据特定的条件进行决策和结果的选择。具体...

`CASE WHEN THEN ELSE END` 是 SQL 语句中常用的条件逻辑表达式。它在 SQL 查询中用于根据特定的条件进行决策和结果的选择。具体结构如下:

```sql

CASE

WHEN condition1 THEN result1

WHEN condition2 THEN result2

...

ELSE resultN

END

```

这里的 `condition` 是要测试的条件,`THEN` 后面的 `result` 是当条件为真时返回的结果。你可以有多个 `WHEN` 条件,但只有第一个为真的条件会被执行。如果没有任何条件为真,那么 `ELSE` 后面的 `resultN` 会被返回。如果没有提供 `ELSE` 部分,并且没有条件为真,那么整个 `CASE` 表达式会返回 `NULL`。

举个例子:

假设有一个名为 `students` 的表,其中有一个名为 `score` 的列,你想根据分数将学生分为几个等级:

```sql

SELECT name, score,

CASE

WHEN score >= 90 THEN 'A'

WHEN score >= 80 THEN 'B'

WHEN score >= 70 THEN 'C'

ELSE 'D'

END as grade

FROM students;

```

这个查询将根据学生的分数将他们分为 'A', 'B', 'C', 或 'D' 等级。如果一个学生的分数是 95,他们将被归为 'A' 级。如果一个学生的分数低于 70,他们将被归为 'D' 级。对于介于这两个值之间的分数,查询将按照上述顺序检查条件并返回相应的等级。

版权声明:本文由用户上传,如有侵权请联系删除!