美文网首页
mysql基础4-函数&子查询&sql命令

mysql基础4-函数&子查询&sql命令

作者: D_w | 来源:发表于2021-11-24 14:59 被阅读0次
image.png

-- emp员工表
-- 查看10号部门最小工资
select min(sal) from emp where deptno=10;

-- 查看20号部门最高工资
select max(sal) from emp where deptno=20;

-- 查看30号部门的平均工资
select avg(sal) from emp where deptno=30;

-- 统计奖金列不是null值的员工人数
select count(comm) from emp; #4个 count() 统计的字段的非空值的数量

-- 统计2月份入职的所有员工的薪资总和
-- 1:2月份入职的所有员工
select empno,month(hiredate) 月份 from emp; # month('1991-10-15') 获取日期月份 year('1991-10-15') 获取日期年份 day('1991-10-15') 获取日期年份
select * from emp where month(hiredate)=2;
-- 2:薪资总和
select sum(sal) from emp where month(hiredate)=2;

-- 分组函数 group by ...having

求每个部门的平均工资

-- 1:按照部门的编号分组
select deptno,avg(sal) from emp group by deptno;

注意:分组之后,select 后面并不是所有的字段都可以接的

-- 分组:把重复的值去掉,只会保留一个
-- select ename -->多个值
-- group by后面跟的字段要能与select后面跟的字段一一对应

查询平均工资大于2000的部门的编号和平均工资

select deptno,avg(sal) from emp group by deptno having avg(sal)>2000;

-- where:条件筛选,where后面不可以接聚合函数,where单独使用使用
select * from emp where max(sal)>3000; #Invalid use of group function
-- having:条件筛选,having 后面可以接聚合函数,having搭配group by使用

相关文章

网友评论

      本文标题:mysql基础4-函数&子查询&sql命令

      本文链接:https://www.haomeiwen.com/subject/iwbntrtx.html