首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

产品经理必备技能:写SQL

在我们这行,有一个经典的问题:产品经理要不要懂技术?

我的观点是,产品经理懂技术,就像流氓会武术,谁都挡不住。懂技术,进可攻退可守,艺多不压身,当然是多多益善。

你需要知道一些基本的技术常识,比如:

前后端程序猿的侧重点是啥?

接口是个什么概念?

异步处理是啥意思?

Native和H5各有哪些优缺点?

……

其中,学会写SQL,是一个入门相对简单,但又非常实用的技能,推荐所有的产品经理学习使用。

SQL是什么?

Structured Query Language,结构化查询语言,通过编写执行SQL语句,你可以从数据库中查询导出你想要的数据。

所谓「数据」,就是在使用软件/互联网服务时,沉淀下来的各种记录,比如订单明细、转账信息、点赞评论、操作历史等。

这么说有点枯燥,举个(可能不太严谨的)例子:

从数据库中导数据,就像去图书馆借书。

数据库是一个超大的图书馆,里面有好多间屋子好多个书架(数据表),所有的书(数据),都被分门别类地放在指定的书架上。

SQL语句,就是借书任务的详细指令,比如:去文学区的第3个书架借1本名字叫《围城》的书(select * from 文学区•第3书架 where 书名=‘围城’)。

学会写SQL,就是掌握了一门与机器直接沟通的语言,可以向系统发号施令,拿到你想要的数据。

当你拿到所有数据表的查询权限,运行着SQL,在数据库中遨游时,你会看到一个功能/应用的本质:它不再是用户眼中带着视觉效果的按钮和线框,整个系统,像脱光了衣服,露出了骨架,躺在你面前,一览无遗……

学会写SQL有哪些好处?

刘大哥只做过B端产品经理,不知道C端有没有这种情况:

B端产品的使命是支撑业务发展,在业务发展的过程中,业务方或者产品团队自己,要做大量的决策,要推行各种激励措施,要不定期地向上汇报……这就产生了大量的数据需求,有的需求长期稳定,可以做成报表或者定时邮件,一劳永逸;更多的需求琐碎而零散,还特别着急,这就给SQL技能创造了用武之地。

熟练使用SQL,可以大大拓展产品经理的价值边界,更好地服务业务方,赢得业务团队的信赖和赞赏,合作起来更加融洽高效。

同时,这也为研发团队阻挡了很多琐碎的需求,降低了打扰率,节省了开发资源,让兄弟们专注在更有价值的事情上。

SQL写多了,对系统的理解自然就更加透彻,在设计新产品时,或者跟研发团队沟通实现方案时,有了共同的语言,更加简单直接。

会写SQL,对表结构了如指掌,还可以在研发团队中建立威信,提升影响力,树立靠谱形象,推动新项目也会顺畅无阻。

最极端的例子:因为线上bug导致要修复一批数据,作为既懂业务(知道业务想要什么)又懂技术(知道如何实现)的产品经理,此时会发挥更大的价值,深度参与实施方案,高效解决问题。

SQL的常用语法有哪些?

基本结构:

selectA表.字段1,B表.字段2…(要查询哪些字段)

fromA表 (从哪张表取数据)

joinB表onA表.字段1=B表.字段5 (还用到了哪张表)

whereA表.字段6=101(导数据的条件是啥)

常用函数/句式:

加减乘除/计数/平均值/最大值/最小值:如果你用过Excel的数据透视表,那这些概念会很容易理解

join/left join/right join:连表查询,三种join的区别是取值范围不同

=/in/between:精确查询

like:模糊查询,配合各种通配符,非常好用

distinct:去重

and/or:拼接条件,交集/并集

case when/if:加入一些判断逻辑

……

另外,通过嵌套、拼接,还可以实现逻辑更复杂的数据需求。

如何开始?

首先,要在战略上藐视对方。

始终告诉自己,这是一件很简单的事,入门简单,进阶也简单。很多看上去复杂的语句,耐心拆解之后,还是那些最基本的句式,花几天时间就能懂个大概。这里推荐一个网站:http://www.w3school.com.cn/sql/

里边有讲解,有案例,还有小测试,布局清晰,内容简洁,是学习SQL非常好的地方。

其次,要在战术上重视对方。

学会公式很简单,如何应用,还依赖于对系统、对表结构的深刻理解。

这是最难的部分,需要积累。

建议先梳理出一个完整的系统框架图,细化到具体的功能模块的粒度,然后找研发同学一起梳理:

每个模块对应哪些表?

它们的关系是怎样的?通过什么字段连接?是一对一还是一对多?(非常重要)

每张表有哪些字段?

每个字段的含义是什么,格式是什么?

数据的更新时机有哪些?

系统数据跟业务流程是如何结合的?

……

最后,搞懂了语法,搞懂了数据结构,还需要大量的实践。

可以从一些简单的需求开始,比如从一张表中取数据,各种函数使用熟练后,再尝试关联多张表,体会几种join方法的区别,再尝试嵌套、拼接……

上手之后,就勇敢地承包所有数据需求吧,实战中会遇到各种各样的问题和场景,每种场景成功写过一次之后,就会对它有更深刻的理解。

一句话总结:写SQL就像织毛衣,搞懂基本知识,充分理解需求,再加上大量的耐心,很快就能看到成果。

闷骚的刘大哥

分享知识、经验和见解

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171211B05NBN00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券