美文网首页
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