MySQL刷题个人总结——特殊方法

引言

刷题连接:牛客网mysql刷题

MySQL刷题个人总结——窗口函数
MySQL刷题个人总结——内置函数
上两篇简单的系统的介绍了关于mysql的函数方法,对于普通的查询都适用。但是,在有些查询题中,存在一些特定的条件,或者要求输出特定的结果,那么函数在此时就显得不那么好用了。本篇则针对于那些特殊的条件或要求,去解决查询问题。

特殊方法

01、having

适用场景:将表按照某一列进行分组后进行 sum/avg/count 等操作,然后根据操作后的表依照给定条件得出结果
附:在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。

实例:SQL经典第62题

出现三次以上相同积分的情况

02、case when

语法:case when(条件)then (结果1) else(结果2)end
适用场景:
1、根据分数划分等级
2、根据某些条件统计表中数据并进行汇总
3、经典行转列,并配合聚合函数做统计
附:sql中的case when类似于java中的if else

实例:SQL经典第69题、第75题、第83题

牛客每个人最近的登录日期(四)
考试分数(四)
牛客的课程订单分析(七)

03、exists

MySQL刷题个人总结——特殊方法_第1张图片

实例:SQL经典第57题

使用含有关键字exists查找未分配具体部门的员工的所有信息

总结

本文为个人的刷题总结,可能不太全面,请见谅。
case when 用法讲解

你可能感兴趣的:(刷题总结,mysql,数据库,database)