使用AI生成CASE語句以在SQL中添加條件邏輯
SQL 的 CASE
语句用于在 SQL
查询中实现条件逻辑。它允许您根据特定条件执行不同的操作。本教程将通过实际示例引导您了解
CASE
语句的语法和用法。
CASE
语句的基本语法如下:
CASE
WHEN 条件1 THEN 结果1
WHEN 条件2 THEN 结果2
...
ELSE 默认结果
END
假设您有一个名为 employees
的表,其中包含
id
、name
和
salary
列。您希望根据员工的薪水对其进行分类:
SELECT
name,
salary,
CASE
WHEN salary > 100000 THEN '高'
WHEN salary BETWEEN 50000 AND 100000 THEN '中'
ELSE '低'
END AS salary_category
FROM employees;
此查询将返回姓名、薪水以及一个新列
salary_category
,该列将每个员工的薪水分类为「高」、「中」或「低」。
您还可以在 ORDER BY
子句中使用
CASE
语句,根据条件逻辑对结果进行排序:
SELECT
name,
salary
FROM employees
ORDER BY
CASE
WHEN salary > 100000 THEN 1
WHEN salary BETWEEN 50000 AND 100000 THEN 2
ELSE 3
END;
此查询将首先按高薪员工排序,然后是中薪和低薪员工。
CASE
语句还可以用于
UPDATE
语句中,以条件更新记录:
UPDATE employees
SET salary =
CASE
WHEN salary < 50000 THEN salary * 1.1
WHEN salary BETWEEN 50000 AND 100000 THEN salary * 1.05
ELSE salary
END;
此查询将使薪水低于 50,000 的员工薪水增加 10%,薪水在 50,000 到 100,000 之间的员工薪水增加 5%,否则保持不变。
SQL 的
CASE
语句是一个强大的工具,用于在查询中实现条件逻辑。它可以用于
SELECT
、UPDATE
、ORDER BY
和其他子句中,使您的 SQL
查询更加灵活和动态。通过不同的场景练习使用
CASE
语句,以充分掌握其潜力。