Mysql 面试常问5 让你根据业务写出比较复杂的SQL,往往和 Group BY 与 Having 相关

推荐一本好书 https://download.csdn.net/download/kxjrzyk/10940201

上面推荐的好书中,1-4 Having 子句的力量 和 1-10 Having 子句又回来了 ,这两章还是不错的。
对于这两章,也可以看看我的另一个博客 https://blog.csdn.net/dgutliangxuan/article/details/88762884

Group BY的语法部分:

  1. 要满足“Select·”子句中的列名必须为分组列或列函数
  2. 列函数对于group by 子句定义的每个组各返回一个结果

在这里插入图片描述

统计相关的函数

在这里插入图片描述

下面是实验部分:我们先创建下面的表

在这里插入图片描述

解答SQL面试题的步骤,其实也是工作中写统计报表的SQL的技巧:

拿到题目(分析需求),先写出各个部分的子SQL,列出关键词,然后再拼接起来

下面以查询所有同学的学号,选课数,总成绩为例子

第一步:写出各个部分的子SQL,

在这里插入图片描述

第二步:列出关键词

在这里插入图片描述

第三步:然后再拼接起来,检查语法

在这里插入图片描述

最终有了下图的结果

在这里插入图片描述
在这里插入图片描述

注意:上面的规则是对同一个表来说的.

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Having

在这里插入图片描述

题目:查询平均成绩大雨60分的同学的学号和平均成绩

在这里插入图片描述

解题思路:

第一步:分析题目,列出关键字

在这里插入图片描述

第二步:列出子SQL

在这里插入图片描述

第三步:根据语法,拼接SQL

在这里插入图片描述
在这里插入图片描述

第一题:查询所有同学的学号,选课数,总成绩

在这里插入图片描述
在这里插入图片描述

第二题:查询平均成绩大于60分的同学的学号和平均成绩

第二步:列出子SQL

总结:

面试里面出的题大多数和 Group by 和 Having 有关 , 还有 特殊函数也是常出。

在这里插入图片描述

  • 22
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值