数据库学习Day6
一.流程控制函数
1.1流程控制函数——if函数
if函数:if else的效果
select last_name,username,password,if(password is not null,'有密码','无密码') from staff;
1.2流程控制函数——case函数
①case函数的使用一:switch case的效果
mysql中
case 要判断的字段或表达式
when 常量1 then 要显示的值1或语句1;
when 常量2 then 要显示的值2或语句2;
。。。
else 要显示的值n或语句n;
end
select customer_id 客户编号,amount, case customer_id when 1 then amount*1.1 when 2 then amount*1.2 when 3 then amount*1.3 else amount end as 新付款 from payment;
②case函数的使用二:类似于 多重if
mysql 中
case
when 条件1 then 要显示的值1或语句1
when 条件2 then 要显示的值2或语句2
。。。
else 要显示的值n或语句n
end
select amount, case when amount>3 then 'A' when amount>2 then 'B' when amount>1 then 'C' else 'D' end as 付款级别 from payment;
二.分组函数
2.1介绍
功能:用作统计使用,又称为聚合函数或统计函数或组函数
分类:sum 求和,avg 平均值,max 最大值,min 最小值,count 计算个数
select sum(amount) from payment; select avg(amount) from payment; select min(amount) from payment; select max(amount) from payment; select count(amount) from payment; select sum(amount) 和,avg(amount) 平均,max(amount) 最高,min(amount) 最低,count(amount) 个数 from payment;
2.2分组函数的使用特点
1.sum,avg一般用于处理数值型
max,min,count可以处理任何类型
2.以上分组函数都忽略null值
3.可以和distinct搭配实现去重的运算
4.count函数的单独介绍:一般使用count(*)用作统计行数
5.和分组函数一同查询的字段要求是group by后的字段
select sum(distinct amount),sum(amount) from payment; select count(distinct customer_id),count(customer_id) from payment;
在此纪念一个函数:
本文来自博客园,作者:Athena-ydy,转载请注明原文链接:https://www.cnblogs.com/Athena-ydy/p/15759740.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效