当前位置:网站首页>mysql basics (4)
mysql basics (4)
2022-07-30 05:26:00 【m0_67391518】
内容一:字符串运算函数
例子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开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担.添加下方名片,即可获取全套学习资料哦
边栏推荐
猜你喜欢
五一去见了一些身价数千万的成功人士,我一些新的思路和启示
容器化 | 构建 RadonDB MySQL 集群监控平台
Seven, custom configuration
Recursive Optimization of Fibonacci Sequences "Memo Recursion"
[3D Detection Series-PointRCNN] Reproduces the PointRCNN code, and realizes the visualization of PointRCNN3D target detection, including the download link of pre-training weights (starting from 0 and
Hexagon_V65_Programmers_Reference_Manual(12)
斐波那契数列的递归优化《备忘录递归》
L2-025 分而治之
Acwing perfect number
为Bitbucket 和 Sourcetree 设置SSL认证
随机推荐
Intermediate - interview questions
微信支付及支付回调
pyinstaller打包程序所遇问题记录
pytorch官网中如何选择以及后面的安装和pycharm测试步骤
LeetCode Algorithm 2326. Spiral Matrix IV
《后浪》程序员版,献给新一代程序员的演讲,何冰《后浪》演讲模仿秀
Hexagon_V65_Programmers_Reference_Manual (14)
C# One Week Introductory "C# - Classes and Objects" Day Six
力扣20-有效的括号——栈实现
程序员赚钱实操,手把手教你做付费课程,自媒体,付费文章及付费技术课赚钱
Summary of skills in using ms project2010 project management software
go语言学习笔记四
Us to raise interest rates by 75 basis points in "technical recession"?Encryption market is recovering
go language study notes 4
String Problem (Part 1)
C语言实现安全性极高的游戏存档并读档
Whole process scheduling - Azkaban entry and advanced
Dynamically bind href url
go language study notes 3
mysql isolation level