0


SQL中的单条件判断函数IF,和多条件判断CASE WHEN的用法

一、单条件判断IF

在SQL中,条件判断函数IF用于根据指定的条件返回不同的值。

语法:

IF(condition, value_if_true, value_if_false)

参数说明:

  • condition:要判断的条件。
  • value_if_true:如果条件为真,则返回的值。
  • value_if_false:如果条件为假,则返回的值。

示例:

假设有如下名为studensts的表,包含id、name和score字段:

在这里插入图片描述

CREATETABLE`students`(`id`int(11)NOTNULL,`name`varchar(255)COLLATE utf8mb4_bin DEFAULTNULL,`score`int(11)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8mb4 COLLATE=utf8mb4_bin;

我们想根据学生的分数判断是否及格,并返回相应的结果。

SELECT id, name,IF(score >=60,'及格','不及格')AS result 
FROM students;

以上查询会返回一个结果集,其中result列将显示每个学生的及格或不及格的结果。
在这里插入图片描述

二、多条件判断CASE WHEN

在SQL中,条件判断函数CASE WHEN用于在查询中根据特定条件返回不同的结果。

语法:

CASEWHEN condition1 THEN result1
     WHEN condition2 THEN result2
     ...ELSE resultN
END

参数说明:

  • condition1、condition2等是条件表达式。
  • result1、result2等是根据条件表达式返回的结果
  • ELSE子句是可选的,用于指定当所有条件都不满足时返回的默认结果。

示例:

例如,下面的示例查询根据学生成绩的不同等级返回不同的提示信息:

SELECT name,CASEWHEN score >=90THEN'优秀'WHEN score >=80THEN'良好'WHEN score >=70THEN'中等'WHEN score >=60THEN'及格'ELSE'不及格'ENDAS grade
FROM students;

以上查询会根据学生的成绩等级返回相应的提示信息,并将结果命名为grade列。
在这里插入图片描述

标签: sql java 数据库

本文转载自: https://blog.csdn.net/Senye_ing/article/details/131833161
版权归原作者 Senye_ing 所有, 如有侵权,请联系我们删除。

“SQL中的单条件判断函数IF,和多条件判断CASE WHEN的用法”的评论:

还没有评论