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

 更新时间:2023年10月26日 15:49:22   作者:Senye_ing  
MySQL提供了IF、IFNULL、CASE等条件判断函数,本文就来介绍一下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字段:

CREATE TABLE `students` (
  `id` int(11) NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
  `score` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

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

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

以上查询会返回一个结果集,其中result列将显示每个学生的及格或不及格的结果。

二、多条件判断CASE WHEN

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

语法:

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

参数说明:

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

示例:

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

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

以上查询会根据学生的成绩等级返回相应的提示信息,并将结果命名为grade列。

到此这篇关于SQL中的单条件判断函数IF和多条件判断CASE WHEN的用法的文章就介绍到这了,更多相关SQL 单条件判断函数和多条件判断内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • SQL Server附加数据库报错:无法为该请求检索数据错误解决办法

    SQL Server附加数据库报错:无法为该请求检索数据错误解决办法

    在SQL Server中附加数据库时可能会发生各种错误,这篇文章主要给大家介绍了关于SQL Server附加数据库报错:无法为该请求检索数据错误的解决办法,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • SQLite之Autoincrement关键字(自动递增)

    SQLite之Autoincrement关键字(自动递增)

    SQLite 的 AUTOINCREMENT 是一个关键字,用于表中的字段值自动递增,关键字 AUTOINCREMENT 只能用于整型(INTEGER)字段。
    2015-10-10
  • SQL Server2019数据库之简单子查询的具有方法

    SQL Server2019数据库之简单子查询的具有方法

    这篇文章主要介绍了SQL Server2019数据库之简单子查询的具有方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • SQL Server快速彻底卸载实例方法分享

    SQL Server快速彻底卸载实例方法分享

    最近在安装了SQL Server后,当由于某些原因我们需要卸载它时,我们应该怎么操作呢?这篇文章主要给大家介绍了关于SQL Server快速彻底卸载的相关资料,需要的朋友可以参考下
    2023-10-10
  • Sqlserver事务备份和还原的实例代码(必看)

    Sqlserver事务备份和还原的实例代码(必看)

    下面小编就为大家带来一篇Sqlserver事务备份和还原的实例代码(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Superset实现动态SQL查询功能

    Superset实现动态SQL查询功能

    这篇文章给大家介绍使用自定义参数方式实现 superset 实现SQL动态查询功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-08-08
  • SQL Server限制IP访问数据库的设置方法

    SQL Server限制IP访问数据库的设置方法

    这篇文章主要介绍了SQL Server限制IP访问数据库的设置方法及注意事项,因监控中用到高权限的用户,想像mysql一样针对这个帐号对IP限制,本文通过图文介绍的非常详细,需要的朋友可以参考下
    2025-10-10
  • SQL中 and or in的用法小结

    SQL中 and or in的用法小结

    这篇文章主要介绍了SQL中 and or in的用法小结,IN运算符允许您在WHERE子句中指定多个值,IN运算符是多个OR条件的简写,本文结合实例代码介绍的非常详细,感兴趣的朋友一起看看吧
    2024-04-04
  • 掌握SQL Server实战教程之SQL Server的安装指南

    掌握SQL Server实战教程之SQL Server的安装指南

    对于项目来说最重要的一环莫过于数据库了,一个良好的数据库能够让项目更加清晰、条理分明,下面这篇文章主要给大家介绍了关于掌握SQL Server实战教程之SQL Server的安装指南,需要的朋友可以参考下
    2023-04-04
  • 查询Sqlserver数据库死锁的一个存储过程分享

    查询Sqlserver数据库死锁的一个存储过程分享

    利用sp_who_lock这个存储过程,可以很方便的知道哪个进程出现了死锁,出现死锁的问题在哪里
    2014-07-07

最新评论