SQL之CASE WHEN用法是什么

SQL之CASE WHEN用法是什么

在SQL中,CASE WHEN语句是一种条件表达式,用于根据满足的条件返回不同的值,它类似于其他编程语言中的if-else语句,CASE WHEN语句的基本语法如下:

SQL之CASE WHEN用法是什么

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ...
    ELSE resultN
END;

condition1、condition2等为判断条件,result1、result2等为对应的返回结果,当满足某个条件时,将返回该条件的对应结果,如果没有满足任何条件,将返回ELSE后的结果,如果没有提供ELSE部分,且没有满足任何条件,则返回NULL。

下面我们通过一个简单的例子来说明CASE WHEN的用法,假设我们有一个名为employees的表,包含以下字段:id(员工ID)、name(员工姓名)、salary(员工薪水),我们想要根据员工的薪水等级给他们分配不同的奖金,可以使用CASE WHEN语句实现。

SELECT id, name, salary,
       CASE
           WHEN salary < 5000 THEN '低'
           WHEN salary >= 5000 AND salary < 10000 THEN '中'
           ELSE '高'
       END AS bonus_level
FROM employees;

在这个例子中,我们使用了CASE WHEN语句来判断员工的薪水等级,并将结果作为bonus_level列返回,当薪水小于5000时,bonus_level为'低';当薪水在5000到10000之间时,bonus_level为'中';其他情况下,bonus_level为'高'。

SQL之CASE WHEN用法是什么

接下来,我们来看一些与本文相关的问题与解答:

问题1:CASE WHEN语句可以处理多个条件吗?

答:是的,CASE WHEN语句可以处理多个条件,只需在WHEN后面依次列出多个条件即可。

SQL之CASE WHEN用法是什么

SELECT id, name, salary,
       CASE
           WHEN salary < 5000 THEN '低'
           WHEN salary >= 5000 AND salary < 10000 THEN '中'
           WHEN salary >= 10000 THEN '高'
       END AS bonus_level
FROM employees;

问题2:CASE WHEN语句中的条件可以是表达式吗?

答:是的,CASE WHEN语句中的条件可以是表达式,我们可以根据员工的年龄来判断他们的奖金等级:

SELECT id, name, age, salary,
       CASE
           WHEN age < 30 THEN '低'
           WHEN age >= 30 AND age < 60 THEN '中'
           ELSE '高'
       END AS bonus_level
FROM employees;

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/224831.html

(0)
K-seoK-seoSEO优化员
上一篇 2024年1月17日 17:22
下一篇 2024年1月17日 17:24

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入