函数
##(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;
提示:1行2列
#sum、avg、round
##(1)查询所有员工工资总和
select sum(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;
+-------------+------------+
| avg(sal) | avg(comm) |
+-------------+------------+
| 2073.214286 | 550.000000 |
+-------------+------------+
#(4)平均工资,保留2位小数
select round(avg(sal),0) ,avg(comm) from emp;
##max最大值和min最小值
##查询员工表中,工资最高的、最低的
select max(sal) max_sal,min(sal) min_sal from emp;
##分段函数 case
##员工表中,根据薪资不一样,给不一样的评论
>4000,NB666
>3000,NB66
>2000,NB6
<2000,ZZ
select
sal,
case
when sal >4000 then "NB666"
when sal >3000 then "NB66"
when sal >2000 then "NB6"
else "ZZ"
end as pj
from
emp;
##需求:根据入职时间打不同星
入职时间>40年 ,3星
入职时间>39年 ,2星
<39年 ,1星

浙公网安备 33010602011771号