SQL SQL Server – Case语句

SQL SQL Server – Case语句

在本文中,我们将介绍SQL Server数据库中的Case语句的用法和示例。Case语句是一种在SQL查询中进行条件判断和分支选择的方法。通过Case语句,我们可以根据不同的条件执行不同的操作或返回不同的结果。

阅读更多:SQL 教程

Case语句的基本语法

SQL Server中的Case语句有两种形式:简单Case表达式和搜索Case表达式。其基本语法如下:

-- 简单Case表达式
CASE expression
    WHEN value1 THEN result1
    WHEN value2 THEN result2
    ...
    ELSE result
END

-- 搜索Case表达式
CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ...
    ELSE result
END
SQL
  • 在简单Case表达式中,我们对一个表达式进行多个值的判断,并根据匹配的值返回结果。
  • 在搜索Case表达式中,我们对多个条件进行判断,并根据满足的条件返回结果。

简单Case表达式示例

下面是一个案例,我们根据学生的成绩判断其等级,并返回相应的结果:

SELECT 
    CASE grade
        WHEN 'A' THEN '优秀'
        WHEN 'B' THEN '良好'
        WHEN 'C' THEN '及格'
        ELSE '不合格'
    END AS '等级'
FROM students
SQL

上述查询中,我们先用Case语句对grade字段的值进行判断,当值为’A’时,返回’优秀’,当值为’B’时,返回’良好’,以此类推。最后,我们使用AS关键字为返回的结果设置别名为’等级’。

搜索Case表达式示例

下面是一个案例,我们根据学生的年龄进行不同年龄段的划分,并返回相应的结果:

SELECT 
    CASE
        WHEN age < 12 THEN '儿童'
        WHEN age >=12 AND age <= 18 THEN '青少年'
        WHEN age > 18 AND age <= 30 THEN '青年'
        ELSE '成年人'
    END AS '年龄段'
FROM students
SQL

上述查询中,我们使用了多个条件进行判断。当age小于12时,返回’儿童’;当age在12到18之间时,返回’青少年’;当age在18到30之间时,返回’青年’;否则返回’成年人’。最后,我们使用AS关键字为返回的结果设置别名为’年龄段’。

Case语句的嵌套使用

在SQL Server中,Case语句也支持嵌套使用。我们可以在Case语句的结果中再次使用Case语句进行条件判断和返回结果。

下面是一个案例,我们根据学生的成绩判断其等级,并对不同等级的学生进行评价:

SELECT 
    CASE grade
        WHEN 'A' THEN 
            CASE 
                WHEN score >= 90 THEN '优秀,成绩非常好!'
                WHEN score >= 80 THEN '优秀,成绩不错!'
                ELSE '优秀,继续努力!'
            END
        WHEN 'B' THEN '良好'
        WHEN 'C' THEN '及格'
        ELSE '不合格'
    END AS '等级'
FROM students
SQL

上述查询中,针对成绩等级为’A’的学生,我们在内层的Case语句中根据成绩进行评价。当成绩大于等于90时,返回’优秀,成绩非常好!’;当成绩大于等于80时,返回’优秀,成绩不错!’;否则返回’优秀,继续努力!’。对于其他等级的学生,我们直接返回相应的等级。

总结

本文介绍了在SQL Server数据库中使用Case语句进行条件判断和分支选择的用法和示例。通过Case语句,我们能够根据不同的条件执行不同的操作或返回不同的结果。Case语句的形式包括简单Case表达式和搜索Case表达式,并且可以进行嵌套使用,提供更加灵活的条件判断和结果返回。熟练使用Case语句可以提高SQL查询的灵活性和可读性,使得查询结果更加符合我们的需求。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册