当前位置: 首页 > news >正文

MySQL流程控制函数

流程控制函数主要有以下几种 主要用于做条件筛选
在这里插入图片描述
那么我们来写代码演示一下
第一个 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;

运行结果如下
在这里插入图片描述
这就达到了我们之前描述的效果

相关文章:

  • GB/T28181-2016基于RTP的视音频数据封装和技术实现
  • String类的详解
  • C/C++新手看过来----新手问题汇总分析
  • C语言 数组作为函数参数
  • 软件测试【秋招面试】字节跳动等各类大厂—面经
  • 【算子2】spark(四):spark core:trans算子中key-value类型的算子使用说明
  • 9.25
  • codeforces-1734C - Removing Smallest Multiples
  • Java IO流的“四大家族”
  • 源码编译perl5遇到的问题汇总
  • 63 岁老工程师设计一屏双计算器软件工具,一起看看?
  • python实现自动换桌面壁纸恶搞程序【带源码】--------- 2.程序调试和打包
  • 抛开去中心化叙事 我们需要DAO的4个理由
  • 【Android入门】5、Broadcast 广播、Kotlin 的高阶函数、泛型、委托
  • clickhouse
  • const let
  • GitUp, 你不可错过的秀外慧中的git工具
  • Java IO学习笔记一
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • nodejs实现webservice问题总结
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • php中curl和soap方式请求服务超时问题
  • select2 取值 遍历 设置默认值
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • Vue.js 移动端适配之 vw 解决方案
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 每天10道Java面试题,跟我走,offer有!
  • 悄悄地说一个bug
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 翻译 | The Principles of OOD 面向对象设计原则
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • #if 1...#endif
  • (12)目标检测_SSD基于pytorch搭建代码
  • (python)数据结构---字典
  • (六)激光线扫描-三维重建
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • .NET 使用配置文件
  • .Net6 Api Swagger配置
  • .net中的Queue和Stack
  • [20171113]修改表结构删除列相关问题4.txt
  • [2669]2-2 Time类的定义
  • [8-27]正则表达式、扩展表达式以及相关实战
  • [AutoSar]BSW_OS 02 Autosar OS_STACK
  • [BPU部署教程] 教你搞定YOLOV5部署 (版本: 6.2)
  • [C/C++] C/C++中数字与字符串之间的转换
  • [C++ 从入门到精通] 12.重载运算符、赋值运算符重载、析构函数
  • [CDOJ 1343] 卿学姐失恋了
  • [CSAWQual 2019]Web_Unagi ---不会编程的崽
  • [Firefly-Linux] RK3568修改控制台DEBUG为普通串口UART
  • [Flex][问题笔记]TextArea滚动条问题
  • [Git 1]基本操作与协同开发
  • [Jquery] 实现温度计动画效果
  • [LeetCode][LCR178]训练计划 VI——使用位运算寻找数组中不同的数字
  • [LeetCode系列]子集枚举问题[无重复元素]
  • [Linux] Linux入门必备的基本指令(不全你打我)