产品经理学SQL(一)一个小时上手SQL
在没有实习练手机会的情况下,如何在短时间快速上手SQL对于在校学生或者非技术人员都是相当重要的。本文将介绍SQL是什么、如何快速入手以及后续学习,enjoy~
前言
写这篇文章之前,我距离第一次使用SQL也不到一年。
严格来说:SQL并不是一门编程语言,只是一个取数工具,与它的原意(结构化查询语言)比较贴切。和很多初学者一样,我学习SQL最大的门槛并非这门语言本身的难易,而是缺乏一个科学有效的学习路径。
我尝试过看书(《Head First SQL》,《SQL必知必会》等系统性的书籍),也在一个月内准备并通过了数据库二级、三级的计算机等级考试,更看过形形色色的SQL题目。
然而这些都不能让我通过美团外卖部门商业分析师的二面SQL技术面,后来我在其他公司实习中每天都需要写大量的SQL,技术几乎瞬间就提上去了。在没有实习练手机会的情况下,如何在短时间快速上手SQL对于在校学生或者非技术人员都是相当重要的。
一、学会SQL,你能做什么
1. 通过R或者Excel调用SQL,从而高效处理数据
除了数据小哥,产品经理应该是与业务数据打交道最多的人了。各种数据透视表、Vlookup和可视化想必难不倒产品经理,但是如何从多张表执行繁杂的“连接”操作和“分组”后“选择”需要的字段,可能在excel里面是复杂的操作,但是SQL只需要一句查询。
2. 减少和技术人员的沟通壁垒
技多不压身,学会SQL也能保证自己的竞争力,毕竟我实习的两个公司产品小姐姐都懂一点SQL,和数据小哥沟通也能减少沟通壁垒。相信很多产品经理都有和数据小哥提需求的经历,经常由于不懂SQL跪舔技术小哥,而技术小哥完全掌握定DeadLine的主动权,毕竟你也不知道需要多久。
3. 为转型技术产品经理作储备
二十一世纪是人工智能高速发展的世纪,作为互联网的产品经理,机器学习也是必须了解的一块。机器学习绕不开的就是SQL,一切机器学习都需要大量的数据,而大部分数据的来源都是公司的数据仓库,SQL语言能帮你理解机器学习的指标体系构建和特征提取。
二、一个小时上手SQL
1. 通过一个例子逐步理解SQL语法(单表查询)
学生表student结构:
先看一个查询例子:查询表中所有学号小于8的男学生的学号和姓名;
- select
- sid,sname ##需要查询出来的字段
- from student ##从哪张表中取数
- where ssex=’男’ and sid<8 ##设置查询的条件,两个条件用and(和)/or(或)连接
暂时我们没有对字段做处理,如果你需要对选择出来的结果进行处理,需要使用函数和order by,再看一个例子:查询每个男性学生的学号、姓名和年龄,并按照学号降序排列。
- select
- sid,sname
- ,year(curdate())-year(sage) as age ##当前年份减去出生年份得到年龄
- from student
- where ssex=’男’
- order by sid desc ##order by 按照字段排序,desc 表示降序
其他常用的函数和where条件:查询学号非空,姓”张”的学生,按照sid升序并取前三条。
- select
- sid,sname
- from student
- where sname like ‘张%’ ##通过like和通配符%进行模糊匹配
- and sid is not null ##学号非空
- order by sid
- limit 3 ##只取前三条
2. 多表查询
学生表student:
成绩表sc:
通过join连接两张表:查询每个赵雷每门课的成绩。
- select
- sname,cid,score
- from student
- left join sc
- on student.sid=sc.sid
- where sc.sname=’赵雷’
三、后续学习
1. 善于使用百度和询问技术小哥
其实理解函数的用途之后并不用短时间内掌握全部的函数,比方说你觉得最后导出来的结果小数位过多,想要减少小数位。直接搜百度就可以找到对应的函数round。你想知道怎么求日期类型的年份、月份和周数也是可以通过百度找到对应的日期函数的。
2. 多实践
只是掌握了SQL的语法然而不经常使用的话很快就会荒废的,所以这篇文章应该面向有意进入互联网工作的在校学生或者想掌握SQL处理数据和沟通需求的产品经理。
3. 刷题
刷题其实对于入门之后还是有必要的,但是刷一套完整的题目要好过刷多套题目。我手头上正好有一套互联网经典的面试题,包括单表查询和多表查询等基本上大部分实务中用到的SQL逻辑,整理一下后会附上链接。
本文由 @Tomocat 原创发布于人人都是产品经理,未经许可,禁止转载。
题图来自 Unsplash,基于CC0协议。
可以去牛客网刷题
hhhh看到这条我笑出了声
牛!!哈哈哈哈哈哈
这个是MySQL还是SQL Server哇?感觉有的语句好相似,请问po主推荐新手用哪个呢
主要是现在出于成本和效率,很多互联网公司用的都是分布式计算的hive,所以推荐用hive
第二篇SQL教程已经提交审核了,估计这两天内会发布出来,敬请期待~
第二次看到你,同样的话 😈
感谢,小白觉得看起来很OK
グッ!(๑•̀ㅂ•́)و✧加油
00
我也是初步学习,坐等连接。
第二篇预告:系统入门sql,帮助解决产品经理80%的sql查询。
具体是条件子句,分组查询,排序,连表查询和子查询。
坐等啦。。哈哈哈
近期会准备第二篇,会有一些sql栗子帮助读者实现业务问题的sql入门的~