sql中case的用法
时间: 2024-05-22 07:09:35 浏览: 12
在 SQL 中,CASE 表达式用于对条件进行判断,然后返回相应的结果。
CASE 表达式有两种形式:简单 CASE 和搜索 CASE。
- 简单 CASE 表达式:对某个表达式进行匹配,如果匹配成功,则返回指定的结果。如果没有匹配成功,则返回 ELSE 指定的结果。简单 CASE 表达式的语法如下:
```
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE resultN
END;
```
- 搜索 CASE 表达式:对一系列条件进行匹配,如果匹配成功,则返回指定的结果。如果没有匹配成功,则返回 ELSE 指定的结果。搜索 CASE 表达式的语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END;
```
下面是一个简单 CASE 表达式的例子,假设我们有一个学生成绩表,需要根据分数将学生分为优秀、良好、及格和不及格四个等级:
```
SELECT name,
CASE score
WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 60 THEN '及格'
ELSE '不及格'
END AS level
FROM scores;
```
下面是一个搜索 CASE 表达式的例子,假设我们有一个员工表,需要根据员工的工龄将他们分为不同的等级:
```
SELECT name,
CASE
WHEN experience < 1 THEN '新人'
WHEN experience < 3 THEN '普通员工'
WHEN experience < 5 THEN '高级员工'
ELSE '资深员工'
END AS level
FROM employees;
```