基本上所有的程序语言都要能够进行逻辑判断。
本来还想说要有循环,连循环也是基于逻辑判断出现的;
逻辑判断最基本的就是IF… THEN…,还有类似于SWITCH的。我们就看看这两种逻辑判断在MYSQL中是怎么实现的。
常见函数 | 功能 | 备注 |
---|---|---|
IF(VALUE,TRUE_VALUE,FALSE_VALUE) | 如果VALUE为真返回TRUE_VAUE,如果VALUE为假,返回FALSE_VALUE | |
IFNULL(value1,value2) | 如果value1不为null,则还是他自己value1,如果为NULL,那么用value2来代替value1 | 但这个语句不改变原表,只是在查询的时候会UPDATE table SET value1=value2 WHERE value1 IS NULL;就可以很简单的用 IFNULL(value1,value2);来解决 |
CASE WHEN[条件1] THEN[结果1] WHEN[条件2] THEN[结果2]… ELSE [结果x] END | 当条件1成立,表里面就填写结果1;条件2成立,表里面就填结果2 | |
CASE 字段 WHEN value1 THEN res1 WHEN value2 THEN res2…ELSE END |
剩下两个CASE的用表格看起来很不舒服,我再给你写个示例
SELECT
NAME,
CASE
WHEN(age BETWEEN 0 AND 18) THEN '少年'
WHEN(age BETWEEN 19 AND 35) THEN '中年'
ELSE ‘老年’
END
FROM
employee;
SELECT
NAME,
(CASE ADDRESS
WHEN ‘北京’ THEN '一线城市'
WHEN ‘上海’ THEN '一线城市'
ELSE ‘很好的城市’
END)AS ‘工作地址’
FROM
employee;
这里的逻辑判断也是在查询时候用到的。