当前位置:网站首页>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开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- Jenkins pipeline 自动部署实践
- 狗都能看懂的Self-Attention讲解
- idea使用@Autowired注解爆红原因及解决方法
- RuntimeError: You called this URL via POST, but the URL doesn‘t end in a slash and you have APPEND_S
- Database document generation tool V1.0
- MATLAB 的ICEEMDAN分解代码实现
- 53个全球免费学术资源数据库整理,查资料写论文必备【开学必备】
- A priori box (Anchor) in target detection
- 电脑知识:台式电脑应该选择品牌和组装,值得收藏
- 基于EEMD+GRU+MLR的时间序列预测
猜你喜欢
Microsoft computer butler 2.0 beta experience
Different lower_case_table_names settings for server (‘1‘) and data dictionary (‘0‘) 解决方案
基于子空间结构保持的迁移学习方法MLSSM
FCN——语义分割的开山鼻祖(基于tf-Kersa复现代码)
VMD combined with ISSA to optimize LSSVM power prediction
Computer knowledge: desktop computers should choose the brand and assembly, worthy of collection
在线公众号文章内容转音频文件实用小工具
QT 出现多冲定义问题
软件:给大家推荐一款国产非常好用的效率软件uTools
JVM工具之 JPS
随机推荐
数据库技巧:整理SQLServer非常实用的脚本
指定区域内随机填充圆之matlab实现
EfficientNet解读:神经网络的复合缩放方法(基于tf-Kersa复现代码)
如何用matlab做高精度计算?【第二辑】
Logical Address & Physical Address
基于EEMD+GRU+MLR的时间序列预测
树莓派 4 B 拨动开关控制风扇 Rasberry Pi 4 B Add Toggle Switch for the Fan
RHCE之路----全
MAML principle explanation and code implementation
QT 显示窗口到最前面(非置顶)
狗都能看懂的Self-Attention讲解
Microsoft Store 微软应用商店无法连接网络,错误代码:0x80131500
Operating System Random
系统流量预估、架构设计方案
ThreadLocal内存泄漏问题讲解
JVM 快速检测死锁
电脑软件:推荐一款磁盘空间分析工具——WizTree
SegNet——论文笔记
SENet详解及Keras复现代码
DropBlock: 卷积层的正则化方法及复现代码