产品经理必备技能:写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就像织毛衣,搞懂基本知识,充分理解需求,再加上大量的耐心,很快就能看到成果。

闷骚的刘大哥

分享知识、经验和见解

本文来自企鹅号 - 闷骚的刘大哥媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏牛客网

好未来-php实习面经

1.笔试 :   4.10号左右投的简历,通知4.15参加在线笔试,笔试考的比较基础,跟php有关的不难,跟php不想关的由于没复习到,基本上猜完了,考完之后...

4969
来自专栏牛客网

去哪儿网春招开发面试经历

1573
来自专栏JAVA高级架构

2年Java开发工作经验面试总结

最近换了个公司,从三月底开始面,面到四月底,面了有快二十家公司。我是一个喜欢总结经验的人,每经过一场面试,我在回来的路上都会仔细回想今天哪些问题可以答的更好,或...

4159
来自专栏Java学习网

程序员最容易犯的几个技术上的错误

程序员最容易犯的几个技术上的错误 为钱而编程   如果你对编程不感兴趣,你的代码一定会写的很烂。结果不仅仅你的事业没有任何前途,你的团队也会因此而痛苦不堪。  ...

2318
来自专栏用户2442861的专栏

(hk1 2014 机会)

转发请注明出处:http://blog.csdn.net/xiajun07061225/article/details/12844801

992
来自专栏何俊林

FFmpeg音视频同步原理与实现

2634
来自专栏java工会

初级 Java 的 3 本进阶书

1935
来自专栏java一日一条

精通型程序员的特点

这听起来像一个很难回答的问题,因为这两者似乎意味着同样的事情。但它们之间的微妙区别至关重要。

491
来自专栏Java架构解析

两年Java程序员的面试总结

工作两年左右,实习一年左右,正式工作一年左右,其实挺尴尬的,高不成低不就。因此在面试许多公司,找到了目前最适合自己的公司之后。于是做一个关于面试的总结。希望能够...

1092
来自专栏牛客网

360搜索面试总结

今天面试360搜索通过了,谢谢牛客网的内推,在这里把面试中问到的问题总结出来。我是个菜鸟,希望能给别人一些帮助。

1492

扫码关注云+社区