SQL CASE WHEN并列2个条件

SQL CASE WHEN并列2个条件

SQL CASE WHEN并列2个条件

在使用SQL语句查询数据时,我们经常会用到CASE WHEN语句来根据不同条件进行判断并返回不同的结果。但有时候我们需要同时满足两个条件才执行特定的操作,这时就需要使用AND来在CASE WHEN语句中并列两个条件。

概述

在SQL中,CASE WHEN语句的一般结构如下:

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ...
    ELSE default_result
END
SQL

在这个结构中,每个WHEN后面都可以跟随一个条件和一个结果。如果满足条件1,则返回结果1;如果满足条件2,则返回结果2;以此类推。如果所有条件都不满足,则返回ELSE后面的默认结果。

如果我们想要同时满足两个条件才返回特定结果,可以使用AND来连接这两个条件,示例代码如下:

CASE
    WHEN condition1 AND condition2 THEN result
    ...
END
SQL

示例

假设有一个表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语句来实现这个分类,示例代码如下:

SELECT
    name,
    age,
    gender,
    CASE
        WHEN age >= 20 AND gender = 'Male' THEN '成年男性'
        WHEN age >= 20 AND gender = 'Female' THEN '成年女性'
        ELSE '未成年'
    END AS category
FROM
    students;
SQL

运行以上代码后,将得到如下结果:

name age gender category
Alice 20 Female 成年女性
Bob 22 Male 成年男性
Cindy 19 Female 未成年
David 21 Male 成年男性

通过以上示例,我们成功地使用CASE WHEN并列两个条件来对数据进行分类。这种方式可以帮助我们根据复杂的条件逻辑来进行数据处理和筛选,提高查询的灵活性和可读性。

总结

在SQL查询中,CASE WHEN语句是一个非常有用的工具,可以根据不同的条件对数据进行分类和处理。当需要同时满足多个条件时,可以使用AND来连接这些条件,实现并列逻辑。合理使用CASE WHEN语句可以提高查询效率,并简化复杂的逻辑判断过程。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册