SQL CASE WHEN并列2个条件
在使用SQL语句查询数据时,我们经常会用到CASE WHEN
语句来根据不同条件进行判断并返回不同的结果。但有时候我们需要同时满足两个条件才执行特定的操作,这时就需要使用AND
来在CASE WHEN
语句中并列两个条件。
概述
在SQL中,CASE WHEN
语句的一般结构如下:
在这个结构中,每个WHEN
后面都可以跟随一个条件和一个结果。如果满足条件1,则返回结果1;如果满足条件2,则返回结果2;以此类推。如果所有条件都不满足,则返回ELSE
后面的默认结果。
如果我们想要同时满足两个条件才返回特定结果,可以使用AND
来连接这两个条件,示例代码如下:
示例
假设有一个表students
,结构如下:
id | name | age | gender |
---|---|---|---|
1 | Alice | 20 | Female |
2 | Bob | 22 | Male |
3 | Cindy | 19 | Female |
4 | David | 21 | Male |
现在我们想根据年龄和性别来进行分类,具体分类规则如下:
- 如果年龄大于等于20岁且性别为男性,则为“成年男性”
- 如果年龄大于等于20岁且性别为女性,则为“成年女性”
- 如果年龄小于20岁,则为“未成年”
我们可以使用CASE WHEN
语句来实现这个分类,示例代码如下:
运行以上代码后,将得到如下结果:
name | age | gender | category |
---|---|---|---|
Alice | 20 | Female | 成年女性 |
Bob | 22 | Male | 成年男性 |
Cindy | 19 | Female | 未成年 |
David | 21 | Male | 成年男性 |
通过以上示例,我们成功地使用CASE WHEN
并列两个条件来对数据进行分类。这种方式可以帮助我们根据复杂的条件逻辑来进行数据处理和筛选,提高查询的灵活性和可读性。
总结
在SQL查询中,CASE WHEN
语句是一个非常有用的工具,可以根据不同的条件对数据进行分类和处理。当需要同时满足多个条件时,可以使用AND
来连接这些条件,实现并列逻辑。合理使用CASE WHEN
语句可以提高查询效率,并简化复杂的逻辑判断过程。