2024年3月14日发(作者:)

sql中case when用法

在 SQL 中,`CASE WHEN` 语句用于在查询中进行条件判断,类似于程序中的 `if-else` 结构。

`CASE WHEN` 允许根据条件来选择不同的输出或执行不同的操作。

基本语法如下:

```sql

SELECT

column1,

column2,

CASE

WHEN condition1 THEN result1

WHEN condition2 THEN result2

...

WHEN conditionN THEN resultN

ELSE default_result

END AS alias_name

FROM

your_table;

```

- `condition1`, `condition2`, ..., `conditionN` 是待检查的条件。

- `result1`, `result2`, ..., `resultN` 是与条件匹配时要返回的结果。

- `default_result` 是在没有任何条件匹配时要返回的默认结果。

- `alias_name` 是结果列的别名,可以省略。

下面是一个简单的例子,假设我们有一个学生成绩表,我们想要根据分数判断学生成绩等级:

```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

student_scores;

```

在这个例子中,根据不同的分数范围,我们使用 `CASE WHEN` 语句给学生成绩分级,并将

结果显示在查询结果中。

`CASE WHEN` 语句在查询中非常灵活,你可以根据具体的业务需求进行不同的条件判断和结

果返回。