sql的when case then
时间: 2023-10-25 21:11:21 浏览: 45
当我们需要根据不同的条件返回不同的结果时,可以使用SQL中的when case then语句。它是一种查找型表达式,可以根据条件返回不同的结果。当条件为真时,返回相应的表达式,否则返回默认表达式。在when case then语句中,when子句会从上到下地执行,只要有一个when子句值为真,就会返回相应的表达式,同时忽略其他when子句。如果没有一个when子句条件的值为真,那么将会返回else子句里的表达式。当然,else子句是可选的。在使用when case then语句时,需要注意各种各样的when子句返回的所有表达式的计算结果必须类型相同(如日期型、数字型、变长字符串类型等)。
举个例子,假设我们有一个学生表,其中有id、name、sex、math、english等字段。我们想要查询该表男生和女生的人数,可以使用如下的SQL语句:
SELECT
SUM(CASE WHEN sex = '1' THEN 1 ELSE 0 END) AS male_count,
SUM(CASE WHEN sex = '2' THEN 1 ELSE 0 END) AS female_count
FROM student;
这个语句中,我们使用了两个when case then语句,分别用于统计男生和女生的人数。当sex字段为1时,返回1,否则返回0。最后使用SUM函数对返回的结果进行求和,得到男生和女生的人数。
相关问题
sql when case then
SQL的WHEN CASE THEN是一种条件表达式语句,可以根据条件返回不同的结果。它的语法如下:
```
SELECT
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
FROM table_name;
```
其中,condition1, condition2, …是不同的条件表达式,result1, result2, …是每个条件对应的结果。如果所有条件都不符合,就返回ELSE后面的结果N。这个语句可以用在SELECT、UPDATE、INSERT和DELETE语句中。
sqlsercver sqlcase whenthen
SQLServer中的`WHEN THEN`是用于CASE语句的关键部分,它在T-SQL(Transact-SQL)中被用来进行条件判断和数据转换。CASE语句是一种强大的条件逻辑工具,可以基于特定的条件返回不同的结果。
CASE结构的基本语法如下:
```sql
CASE
WHEN condition_1 THEN result_1
WHEN condition_2 THEN result_2
[ ELSE default_result ]
END
```
- `condition_1`, `condition_2` 是要测试的条件,如果条件为真,SQL Server将执行相应的`result_1`或`result_2`。
- 如果所有`WHEN`条件都不满足,可选的`ELSE`子句会提供一个默认的结果,如果提供的条件都不成立,这个默认值会被返回。
举个例子,假设你想计算一个员工的工资等级:
```sql
SELECT
employee_id,
CASE
WHEN salary > 5000 THEN '高级'
WHEN salary > 3000 THEN '中级'
ELSE '初级'
END AS wage_level
FROM employees;
```
在这个例子中,`WHEN THEN`条件分别定义了薪水高于5000、3000的员工等级,剩下的工资则被认为是初级。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)