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

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

  • 一、前期准备
  • 二、IF语句
    • 1、场景一
    • 2、场景二
  • 三、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

MySQL使用IF语句以及用case语句对条件或结果进行判断_第1张图片

2、场景二

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

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

MySQL使用IF语句以及用case语句对条件或结果进行判断_第2张图片

三、CASE语句

根据jgid赋予不同的角色

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

MySQL使用IF语句以及用case语句对条件或结果进行判断_第3张图片

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

你可能感兴趣的