case when使用或者
时间: 2024-03-05 15:46:27 浏览: 84
CASE WHEN语句是一种在SQL中使用的条件表达式,它允许根据满足特定条件的不同情况来返回不同的结果。它的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,condition1、condition2等是条件表达式,result1、result2等是对应条件满足时返回的结果。ELSE子句是可选的,用于指定当所有条件都不满足时返回的默认结果。
CASE WHEN语句可以用于各种情况,例如:
1. 根据不同的条件返回不同的值:
```
SELECT name,
CASE
WHEN age < 18 THEN '未成年'
WHEN age >= 18 AND age < 60 THEN '成年人'
ELSE '老年人'
END AS age_group
FROM users;
```
2. 在查询结果中进行计算或者转换:
```
SELECT name,
CASE
WHEN gender = 'M' THEN '男性'
WHEN gender = 'F' THEN '女性'
ELSE '未知'
END AS gender_label,
CASE
WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 60 THEN '及格'
ELSE '不及格'
END AS score_label
FROM students;
```
3. 对查询结果进行分组和聚合:
```
SELECT department,
COUNT(*) AS total_count,
SUM(CASE WHEN status = 'completed' THEN 1 ELSE 0 END) AS completed_count,
SUM(CASE WHEN status = 'pending' THEN 1 ELSE 0 END) AS pending_count
FROM orders
GROUP BY department;
```
以上是CASE WHEN语句的基本用法和示例,希望对你有帮助。
阅读全文