mysql学习day03——02

查询

  1. 使用DISTINCT剔除重复行(DISTINCT必须紧跟在select之后)

    select distinct deptno from emp;
    select distinct deptno,job from emp;
  2. 处理空值

    select ename,job,sal, IFNULL (comm,'无') as comm  from emp;
    -- 判断comm这一列中如果有空值 就把空值替换为‘无’
  3. 数据过滤

    1. 比较运算符

      1. “>” 表示前者大于后者

      2. “!=”或“<>” 用于比较两者是否相等

      3. any 用于匹配列表中任意值

        查询在10 或 20 或 30 部门工作的员工信息
        select * from emp where deptno in (10,20,30);
    2. SQL运算符

      1. between...and... 用于匹配值的范围

        select ename,job,sal from emp  where sal  between 1500 and  2000;
      2. is null 和 is not null 用于判断值是否为空

        select * from emp where comm is null;
        select * from emp where comm is not  null;
      3. like 实现模糊查询

        1. 默认采用%匹配任意多个字符

          select ename,empno,job from emp  where ename like '%o%';
        2. 默认采用_匹配任意单个字符

          查询ename第三个字母是o的员工信息
          select ename,empno,job from emp  where lower(ename) like '__o%';
          select ename,empno from emp where ename like '_/_%'; -- /_ 用/转义
          select ename,empno from emp where ename like '_$_%' escape '$'; -- 转义
    3. 数据分组

      1. max求一列的最大值

      2. min求一列的最小值

      3. sum 用于求和

      4. count 用于统计非空函数的行数

        select count(ename) from emp;
      5. GROUP BY 分组查询

        select deptno,min(sal),max(sal),avg(sal) from emp group by deptno;
        ​
        -- 四舍五入函数 round()
        select deptno,min(sal),max(sal),round(avg(sal)) from emp group by deptno;
        ​
        -- 先用where过滤再分组
        select deptno,job,round(avg(sal)) from emp where deptno is not null group bydeptno,job;
        ​
      6. HAVING 数据筛选

        -- 对分组后的数据再进行筛选
        select deptno,avg(sal) from emp where deptno is not null group by deptno having  avg(sal) > 2000;
      7. ORDER BY 排序

        -- 先根据sal排序 如果sal相同再用deptno排序
        select * from emp order by sal DESC,deptno DESC;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蔡霸霸i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值