当前位置:网站首页>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开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
猜你喜欢
随机推荐
如何用matlab做高精度计算?【第三辑】(完)
Database knowledge: SQLServer creates non-sa user notes
数据库技巧:整理SQLServer非常实用的脚本
【C# - 爬虫】使用Selenium实现爬虫,获取近七天天气信息(包含完整代码)
子空间结构保持的多层极限学习机自编码器(ML-SELM-AE)
专属程序员的浪漫七夕
MySQL(4)
狗都能看懂的Pytorch MAML代码详解
QT 出现多冲定义问题
天鹰优化的半监督拉普拉斯深度核极限学习机用于分类
Visualization and Animation Technology (Computer Animation)
What is the connection between GRNN, RBF, PNN, KELM?
QT signals 保存到 QMap
golang 坐标格式 转换 GCJ02ToWGS84
Microsoft Store 微软应用商店无法连接网络,错误代码:0x80131500
系统流量预估、架构设计方案
Logical Address & Physical Address
Computer software: recommend a disk space analysis tool - WizTree
软件稳定性思考
MySQL重置root密码









