count函数
9.6.1 count函数
##count 函数
##(1)查询emp表中记录数
count():不会忽略null的值。
select count() from emp;
##(2)统计emp表中,有提成的人数
##count(具体字段),null的话会被忽略
select count(comm) from emp;
##(3)工资大于2500的员工的人数。
select count(*)from emp where sal > 2500;
##(4)薪资(工资+奖金)大于2500的员工的人数。
select count(*)from emp where (sal + ifnull(comm,0)) > 2500;
##(5)查询有提成的人数,有上一级领导的人数。
select count(comm),count(mgr) from emp;
9.6.2 sum求和,avg平均分,round四舍五入
#sum、avg、round
##(1)查询所有员工的工资总和
select sun(sal)from emp;
##(2)查询所有员工工资总和、提成总和
select sum(sal),sum(comm)from emp;
##(3)查询所有员工工资总和、提成总和、薪资
select sum(sal),sum(comm),sum(sal + ifnull(comm,0))money from emp;
##(3)计算员工的平均工资
select avg(sal),avg(comm)from emp;
#(4)平均工资,保留2位小数
select round(avg(sal),0),avg(comm)from emp;
9.6.3 max和 min
##max最大值和min最小值
##查询员工表中,工资最高、最低的
select max(sal)max_sal,min(sal)min_sal from emp;
9.6.4 分段函数 case
##分段函数 case
##员工表中,根据薪资不一样,给不一样的评价
>4000,NB666
>3000,NB66
>2000,NB6
<2000,ZZ
select
sal,
case
where sal >4000 then “NB666”
where sal >3000 then “NB66”
where sal >2000 then “NB6”
else “ZZ”
end as pj
from
emp;
9.6.5 字符串截取
Left(A,4)从左边开始截取4个字符
Right(A,4)从右边开始截取4个字符
我爱你
##截取
1987-04-19 -> 1987
select right(‘1987-04-19’,4)
###(1)获取员工的入职年份
select ename,hiredate,left(hiredate,4)from emp;
###(2)获取员工的入职工龄
select ename,hiredate,2021 - left(hiredate,4)from emp;