在 SQL 中,CASE WHEN 语句可以帮助我们根据特定条件对数据进行处理
当有多个条件需要判断时,可以使用嵌套的 CASE WHEN 语句来简化查询。例如,假设我们有一个销售表,需要根据销售额来判断销售情况:
SELECT sales_id, CASE WHEN sales_amount < 1000 THEN 'Low' WHEN sales_amount >= 1000 AND sales_amount < 5000 THEN 'Medium' ELSE 'High' END AS sales_levelFROM sales;计算字段值:嵌套的 CASE WHEN 语句还可以用于计算字段值。例如,假设我们需要计算每个销售人员的提成,根据销售额和销售人员的级别来计算:
SELECT salesperson_id, sales_amount, CASE WHEN sales_amount < 1000 THEN sales_amount * 0.05 WHEN sales_amount >= 1000 AND sales_amount < 5000 THEN sales_amount * 0.1 ELSE sales_amount * 0.15 END AS commissionFROM sales;组合多个条件:当需要根据多个条件组合来计算字段值时,可以使用嵌套的 CASE WHEN 语句。例如,假设我们需要计算每个销售人员的奖金,根据销售额和销售人员的级别来计算:
SELECT salesperson_id, sales_amount, CASE WHEN sales_amount < 1000 AND salesperson_level = 'Junior' THEN sales_amount * 0.03 WHEN sales_amount < 1000 AND salesperson_level = 'Senior' THEN sales_amount * 0.04 WHEN sales_amount >= 1000 AND sales_amount < 5000 AND salesperson_level = 'Junior' THEN sales_amount * 0.08 WHEN sales_amount >= 1000 AND sales_amount < 5000 AND salesperson_level = 'Senior' THEN sales_amount * 0.1 ELSE sales_amount * 0.12 END AS bonusFROM sales;总之,嵌套的 CASE WHEN 语句可以帮助我们更简洁地处理复杂的条件判断和计算。在实际应用中,可以根据需求灵活地使用嵌套的 CASE WHEN 语句。


