MySQL使用IF语句以及用case语句对条件或结果进行判断

本文通过具体实例展示了MySQL中IF语句和CASE语句的应用。包括如何使用IF语句进行条件判断以及CASE语句实现多条件分支选择,特别适用于数据库初学者实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL使用IF语句以及用case语句对条件或结果进行判断


一、前期准备

CREATE TABLE `t1` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `jgid` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;

INSERT INTO `avlicy`.`t1`(`id`, `name`, `jgid`) VALUES (1, '二二', 2);
INSERT INTO `avlicy`.`t1`(`id`, `name`, `jgid`) VALUES (2, '李四', 2);
INSERT INTO `avlicy`.`t1`(`id`, `name`, `jgid`) VALUES (4, '七七', 3);
INSERT INTO `avlicy`.`t1`(`id`, `name`, `jgid`) VALUES (5, '小猕猴', 1);
INSERT INTO `avlicy`.`t1`(`id`, `name`, `jgid`) VALUES (6, '小米粥', 1);
INSERT INTO `avlicy`.`t1`(`id`, `name`, `jgid`) VALUES (7, '小哈吧', 1);

二、IF语句

1、场景一

如果id是基数则是,否则则否

SELECT
	t1.*,
	IF(MOD(t1.id,2)=0 ,'是','否') AS 是否被二整除
FROM
	t1

在这里插入图片描述

2、场景二

如果id是偶数则判断id是否与jgid相等,如果Id是奇数则判断id是否与jgid不相等

SELECT
	t1.* 
FROM
	t1 
WHERE
IF( MOD ( t1.id, 2 )= 0, id = jgid, id <> jgid )

在这里插入图片描述

三、CASE语句

根据jgid赋予不同的角色

SELECT
	*,
 CASE
		WHEN jgid = 1 THEN
		'学生' 
		WHEN jgid = 2 THEN
		'教师' 
		WHEN jgid = 3 THEN
		'家长' ELSE '' 
	END AS '角色' 
FROM
	t1

在这里插入图片描述

  1. 你是可爱的"小朋友,值得遇到最好的。
  2. 人安静的生活,哪怕是静静地听着风声,亦能感受到诗意的生活。
  3. 一个堕落到极致的人,如果哪天TA突然醒悟,必定一鸣惊人。
  4. 愿你以后也有人千里迢迢来看你,悄悄告诉你哪里的花开了。
  5. 自己生活贫乏的人,才喜欢刺探别人的私事。
  6. 别再去抱怨身边人善变,多懂一些道理,明一些事理,毕竟人越活越现实。
  7. 世界上最亮的光芒,一个是太阳,一个是你努力时的模样。
  8. 只有那些耐心完成简单工作的人,才能够轻而易举地完成困难的事。
  9. 人们依靠行动而活,而不是想法而活。
  10. 别辜负自己,走到今天真的不容易。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

和烨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值