case when 和 if用法
时间: 2024-02-22 10:53:24 浏览: 174
Case_When用法
当你需要根据不同的条件来执行不同的操作时,可以使用条件语句。在SQL中,有两种常见的条件语句:CASE WHEN和IF。
1. CASE WHEN语句:
CASE WHEN语句用于在SELECT语句中根据条件进行数据转换或分类。它的基本语法如下:
```
SELECT
column,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END AS alias
FROM table;
```
在这个语法中,column是要查询的列,condition是一个条件表达式,result是满足条件时返回的结果,alias是结果的别名。
例如,假设有一个名为students的表,其中包含学生的姓名和分数。我们可以使用CASE WHEN语句将学生的分数转换为等级:
```
SELECT
name,
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
ELSE 'D'
END AS grade
FROM students;
```
这将返回一个包含学生姓名和对应等级的结果集。
2. IF语句:
IF语句用于在存储过程或函数中根据条件执行不同的操作。它的基本语法如下:
```
IF condition THEN
statements;
ELSEIF condition THEN
statements;
ELSE
statements;
END IF;
```
在这个语法中,condition是一个条件表达式,statements是要执行的操作。
例如,假设有一个存储过程,根据学生的分数判断是否及格:
```
CREATE PROCEDURE check_pass(score INT)
BEGIN
IF score >= 60 THEN
SELECT 'Pass';
ELSE
SELECT 'Fail';
END IF;
END;
```
当调用这个存储过程并传入一个分数时,它将返回相应的结果。
阅读全文