流程控制函数主要有以下几种 主要用于做条件筛选
那么我们来写代码演示一下
第一个 if
这个感觉有点像三元运算符 或者是 if else
接受三个参数
如果第一个参数 条件成立 则 返回第二个参数 如果不成立 则返回第三个参数
演示代码如下
SELECT if(1=1,1,2)
运行结果如下
显然 1是等于1的 所以条件成立 他就返回了我们的第二个参数 1
然后我们改一下代码
SELECT if(1=3,1,2)
运行结果如下
1显然不等于3 所以 这次就返回了 第三个参数 2
ifnull 接收两个参数 判断第一个参数是否为空
如果不为空 则返回第一个参数 如果为空 则返回第二个参数
参考代码如下
SELECT ifnull(1,2)
运行结果如下
因为第一个参数不为空 所以 返回了第一个参数
然后我们改一下代码
SELECT ifnull(null,2)
运行结果如下
此时我们第一个参数是空的 所以我们拿到了第二个参数 2
后面的我们需要用一个表结构数据来做查询演示
我们这里有一张用户表 我们用 user_salary 做实验
先编写代码
SELECT user_name,user_salary from user_list;
运行结果如下
这里我们输出了所有用户的名称和user_salary
这里我们对他们做一个分层
9000以上 及格 10000以上 良好 11000以下 优秀 其他情况都是不及格
我们这样编写
SELECT user_name,(case when user_salary > 11000 then "优秀" when user_salary > 10000 then "良好" when user_salary > 9000 then "及格" else "不及格" end) "收入" from user_list;
运行结果如下
这就达到了我们之前描述的效果