加入
我们
投稿
反馈
评论 返回
顶部

内容字号: 默认 大号超大号

段落设置: 段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

产品经理学SQL(二)一天学会用SQL解决业务查询

2019-01-16 10:27 出处:未知 人气: 评论(

  本篇旨在将实务中最常出现的详细情况进行说明,从而解决产品经理80%的sql查询任务;希望对大家有帮助~

  之前我们已经用一个例子介绍了SQL的语法顺序和执行顺序,想必现在你已经知道了一个完整的SQL包括条件子句(关键字where)、分组查询(关键字group by)、字段选择(关键字select)和结果呈现(关键字order by)。本篇我们旨在将实务中最常出现的详细情况进行说明,从而解决产品经理80%的sql查询任务。

  产品经理学SQL(二)一天学会用SQL解决业务查询问题系列共包括前中后三篇,建议学习时间为一天。

  比较运算符包括=(等于),=(大于等于),=(小于等于),!=(不等于),(大于),(小于)。

  通过like关键字和正则表达式匹配,常用的通配符有%(任意个字符)和_(一个字符)。

  分组查询实现了类似excel中数据透视表的功能,可以帮助我们对数据进行分层汇总,而我们对分层后的数据进行统计的时候需要用到聚合函数(也就是平均值、求和、最大值和最小值等),最后我们对分层之后的数据筛选的时候需要用到having子句。

  回顾我们上一篇讲过的例子:在限定学生表学号小于等于6的一批学生中,查询每门课的最高成绩(最高成绩低于70分的课程不显示),然后根据课程最高成绩降序排列取前两条记录。

  回顾一下执行顺序,首先我们用where子句对原始数据做了学号id需要小于等于6的限制。然后我们用group by和max(score)聚合函数实现了对课程进行分层,求出每门课的最高成绩,为了对聚合之后的结果作限制,我们用having子句只展示最高分数大于等于70的记录。

  关于这个例子详细解释可以回顾上篇文章,下面我们详细介绍每个部分的常用语句。

  group by不仅可以对一个字段进行分组,还能对多个字段进行分组。这和excel中的数据透视表一致。

  select比较灵活,我们不单单能选择原始数据表的字段,还能使用函数对字段进行计算,正如我们第一篇提到的,函数并不是重点,当你需要的时候百度或者问技术小哥就知道了。我们这里只简单介绍一下可以对字段进行计算。

  例如:查询学生id和年龄,并先按照学号sid降序,再按照年龄sage升序排列

  本篇文章的目的主要是帮助非技术人员在初步知晓SQL语句的情况下在一天之内系统入门SQL,从而解决80%的sql查询问题。

  但是由于建议学习时间为一整天,全部内容置于一篇文章一方面过于冗长,另一方面影响读者趁热打铁(作者是上班族,更新比较慢哈望谅解~),因此我把一天学会用SQL解决业务查询问题分为上中下三篇。

  上篇已经介绍了SQL的语法顺序和执行顺序的区别并仔细剖析了SQL的执行顺序;这篇详细介绍了条件子句、分组查询和排序的细节;下篇会介绍表的连接和其他常用关键字。

  本文由 @Tomocat 原创发布于人人都是产品经理,未经许可,禁止转载。

  今年放假了,最近两天想花点时间做个2018电影年终盘点,sql的教程先搁置下~

  人人都是产品经理(是以产品经理、运营为核心的学习、交流、分享平台,集媒体、培训、招聘、社群为一体,全方位服务产品人和运营人,成立8年举办在线+期,线+场,产品经理大会、运营大会20+场,覆盖北上广深杭成都等15个城市,在行业有较高的影响力和知名度。平台聚集了众多BAT美团京东滴滴360小米网易等知名互联网公司产品总监和运营总监,他们在这里分享知识、招聘人才,与你一起成长。

分享给小伙伴们:
本文标签: sql学习

更多文章

相关文章

评论

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。


Copyright © 2002-2011 DEDECMS. IT之家 版权所有 Power by DedeCms