前言 写这篇文章之前,我距离第一次使用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的男学生的学号和姓名;
暂时我们没有对字段做处理,如果你需要对选择出来的结果进行处理,需要使用函数和order by,再看一个例子:查询每个男性学生的学号、姓名和年龄,并按照学号降序排列。
其他常用的函数和where条件:查询学号非空,姓”张”的学生,按照sid升序并取前三条。
2. 多表查询学生表student: 成绩表sc: 通过join连接两张表:查询每个赵雷每门课的成绩。
三、后续学习 1. 善于使用百度和询问技术小哥其实理解函数的用途之后并不用短时间内掌握全部的函数,比方说你觉得最后导出来的结果小数位过多,想要减少小数位。直接搜百度就可以找到对应的函数round。你想知道怎么求日期类型的年份、月份和周数也是可以通过百度找到对应的日期函数的。 2. 多实践只是掌握了SQL的语法然而不经常使用的话很快就会荒废的,所以这篇文章应该面向有意进入互联网工作的在校学生或者想掌握SQL处理数据和沟通需求的产品经理。 3. 刷题刷题其实对于入门之后还是有必要的,但是刷一套完整的题目要好过刷多套题目。我手头上正好有一套互联网经典的面试题,包括单表查询和多表查询等基本上大部分实务中用到的SQL逻辑,整理一下后会附上链接。 #声明# |
|