当前位置:网站首页>mysql基础(4)
mysql基础(4)
2022-08-04 05:36:00 【begefefsef】
内容一:字符串运算函数
例子1 字符串替换—replace函数
把查询id那一列 E开头数据 变成jw开头数据
select id,REPLACE(id,“E”,“jw”) as “员工编号” from jw03_sale;
例子2: 字符串合并 将两列数据可以合并显示
select concat(“陈”,“冠希”)
将员工编号+ 姓名+a商品销量一起显示
select CONCAT(id,name,sales_a) from jw03_sale;
select CONCAT_WS(“–”,id,name,sales_a) as “个人销量” from jw03_sale;
内容二: 控制流函数(重点)
需求: 根据不同的数据—显示出不同的结果
根据考试分数 >=60 显示及格 否则 显示不及格
解决方案:if() 函数 理解 ifNULL函数 NULLif函数 2.Case when 函数
If函数
格式1:===》支持嵌套
if(条件,满足条件值,不满足条件的值)
条件 假 0 NULL FASLE 其它 TRue
if函数格式
select if(70>=60,“及格”,“不及格”)
例子 if嵌套 先判断是否及格 ,然后再判断是否优秀
select if(85>=60,if(85>=80,“优秀”,“良好”),“不及格”)
应用1: 给表格增加一列 显示学生是否及格
select id,score,if(score>=60,“及格”,“不及格”) as score_result
from jw04_stu8;
应用2: 给表格增加一列 显示学生是否及格 小于80分==》良好,大于等于80 优秀
select id,score,if(score>=60,if(score<80,“良好”,“优秀”),“不及格”) as score_result
from jw04_stu8;
if函数 外层到内层进行解析即可
ifNULL函数 NULLif函数
ifNULL(参数1,参数2)
含义 如果参数1 不为空则返回参数1 否则 则返回参数2
NULLif(参数1,参数2)
含义:如果 参数1等于参数2 返回NULL 否则返回 参数1
例子 查询worker表
根据 岗位类型 type=“A” 数据分析岗位
其它类型 非数据分析岗位
增加1列 没有工资的 工资显示为0
增加1列 没有工资的 工资显示为NULL
select name,
if(type=‘A’,“数据分析岗”,“非数据岗”) as jwtype,
IFNULL(salary,0) as ‘无工资为0’,
NULLIF(salary,null) as ‘无工资为Null’
from worker;
需求: 在sql if 不建议嵌套太深(不要3层)==》慢查询
解决: 使用 case …when 解决
格式一:(简单写法)
Case 字段名字
When 条件1 then 满足条件1结果
When 条件2 then 满足条件2结果
When 条件3 then 满足条件3结果
…
Else 不满足返回默认值
End
注意: 条件具体的值,只适合相等条件判断,不能进行比较运算!!!
格式二:(搜索写法 解决格式1 问题 可以做比较运算)
Case (啥也没有)
When 条件1 then 满足条件1结果
When 条件2 then 满足条件2结果
When 条件3 then 满足条件3结果
…
Else 不满足返回默认值
End
说明: 这里的条件可以进行比较运算的
例子 1.增加一列 根据班级 结果 显示不同班级别名(幼儿园)
select id,class ,
(
case class
when “一班” then “向日葵班”
when “二班” then “玫瑰班”
when “三班” then “小鸡班”
else “老鹰班” end
) as “班级别名”
from jw04_stu8;
例子2.小于60分 “不及格” 小于80分 良好 其它情况优秀
select
id,score,
(
case
when score <60 then “不及格”
when score <80 then “良好”
else “优秀”
end
) “分数等级”
from jw04_stu8;
补充说明 条件between and 关键字支持的
小结: if和case
If 简单 不建议嵌套 建议推荐使用case
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- Visualization and Animation Technology (Computer Animation)
- EfficientNet解读:神经网络的复合缩放方法(基于tf-Kersa复现代码)
- DOM的12中节点类型,通过关系或方法获取DOM节点,渲染到浏览器页面的一些特效功能,获取DOM节点来改变属性,点击图片,切换为所点击的图片为背景图,页面上的表单验证,点击底部导航栏切换界面
- E-R图总结规范
- 微软电脑管家2.0公测版体验
- IoU, GIoU, DIoU and CIoU in target detection
- 如何用matlab做高精度计算?【第三辑】(完)
- 对象的扩展补充
- Error EPERM operation not permitted, mkdir ‘Dsoftwarenodejsnode_cache_cacach两种解决办法
- “需求370解决解决爬取章节之后主题讨论评论消失问题”工作总结
猜你喜欢
matlab科研绘图模板,直接奉上源代码!
FCN——语义分割的开山鼻祖(基于tf-Kersa复现代码)
Gramm Angle field GAF time-series data into the image and applied to the fault diagnosis
Operating System Kernel
MATLAB版量化交易技术分析工具TA-Lib【不付费也可获取,不要被付费吓跑】
子空间结构保持的多层极限学习机自编码器(ML-SELM-AE)
Detailed explanation of DenseNet and Keras reproduction code
CMDB 腾讯云部分实现
Error occurred while trying to proxy request项目突然起不来了
狗都能看懂的Vision Transformer的讲解和代码实现
随机推荐
DropBlock: 卷积层的正则化方法及复现代码
ffmpeg打开rtsp流应该设置的几个参数
专属程序员的浪漫七夕
软件稳定性思考
Error ER_NOT_SUPPORTED_AUTH_MODE Client does not support authentication protocol requested by serv
基于爬行动物搜索RSA优化LSTM的时间序列预测
matlab让我的旧手机起死回生
目标检测中的IoU、GIoU、DIoU与CIoU
天鹰优化的半监督拉普拉斯深度核极限学习机用于分类
Hardware Knowledge: Introduction to RTMP and RTSP Traditional Streaming Protocols
布隆过滤器
Operating System Kernel
秒杀系统设计
子空间结构保持的多层极限学习机自编码器(ML-SELM-AE)
DOM的12中节点类型,通过关系或方法获取DOM节点,渲染到浏览器页面的一些特效功能,获取DOM节点来改变属性,点击图片,切换为所点击的图片为背景图,页面上的表单验证,点击底部导航栏切换界面
Network skills: teach you to install batteries on the router, you can still surf the Internet when the power is cut off!
数组的一些方法
SENet detailed explanation and Keras reproduction code
Visualization and Animation Technology (Computer Animation)
异步编程之promise,任务队列,事件循环