MySQL 条件, case when 和 if 方法

MySQL 条件, case when 和 if 方法,第1张

交换以下工资信息表中的m和f

这里主要练习一下两种条件方法,先是case when方法,

语法是CASE expressing WHEN condition THEN return

这里expressing 不是必须的,如果有,就是拿来和condition进行比较的,意即如果有expressing,默认将它和WHEN后面的条件进行=比较,如果真,返回THEN后面的结果。下面是有expressing和没有expressing的两种写法:

或者,我们可以用if方法

if的语法是IF(condition, value_if_true, value_if_false)

前面介绍了如何对表数查询、更新、删除,本小节介绍如何在查询、更新、删除 *** 作加上 WHERE 条件约束,使这些语句的 *** 作更加准确,满足业务需求。WHERE 条件的 *** 作符类型有如下:

以 teacher 表为例,查询年龄大于 18 的教师信息:

执行结果如下图

再比如使用 LIKE 模糊查询身份z号以 020X 结尾的教师信息:

执行结果如下图:

[图片上传失败...(image-f53914-1648379120315)]

以 teacher 表为例,查询年龄大于 18 和 教师姓氏 王 的教师信息:

执行结果如下图:

[图片上传失败...(image-7dbeda-1648379120315)]

以 teacher 表为例,查询年龄大于 25 或 教师姓氏 王 的教师信息:

执行结果如下图:

以 teacher 表为例,将 age 在 20 和 30 之间的教师身份z设置为 无 :

为了演示方便,我们先给 teacher 表增加一个字段 email :

执行结果如下图:

清空表数据:

然后往 teacher 表插入几条测试数据:

然后查询 email 为 NULL 的教师信息结果集:

执行结果如下图:

本小节介绍了如果在查询、更新语句后面加上 WHERE 条件约束,需要注意的是当使用 >、 <、这样的 *** 作符和空值比较的时候,NULL值与任何其它值的比较(即使是NULL)永远不会为 TRUE ,例如要查询 name 为 NULL 的结果集要写成 name IS NULL ,而不能使用 name=NULL 。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8670719.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存