1、职能岗SQL学习极简攻略-开篇词
为什么要学习SQL
在产品经理、运营、市场等职能岗位求职时,我们会发现很多职位都要求能掌握SQL。例如下面运营岗位的职位描述(JD),就明确说明了需要熟练SQL。在很多JD中我们都可以看见”会SQL优先“、“会SQL加分”等字眼。SQL作为一门技能,可以提升我们的职场竞争力,在面试中脱颖而出,同时在实际工作中也会切实提升我们的工作效率。
那么SQL究竟是什么呢?SQL我们可以理解为与数据库进行沟通的语言,就像我们与人交流使用的语言一样。其中数据库是存储数据的容器,当我们想要从数据库中获得某些数据,就需要用数据库能听得懂的语言告诉它,例如我们想知道商店昨天的营业额,就可以使用相应的SQL语句告诉数据库,数据库就会返回我们想要的数据,而不需要我们人工进行统计,如下图所示。
在数据库中数据总是以一张张表的形式存在,每一张表都有自己的列和行,就好像Excel中的工作表一样,但是它的数据量可以非常大。SQL除了用于查询数据,还可以插入、更新和删除数据库中的数据。在日常生活中,我们每一次网上购物、每一次点外卖、每一次打网约车,其背后实际都是一次次SQL的执行。插入、更新和删除数据的逻辑相对比较简单,我们学习的重点是如何从这些表中查询数据。
如何学习SQL
SQL是一种简单易学的语言,即使你没有编程经验,只要知晓一些简单英文单词的意思,就可以很快上手,区区SQL,不在话下。
我们将SQL学习分为垂直学习和水平学习两个方向,如下图所示。先通过垂直维度学习SQL,帮助大家快速掌握SQL的基础语法。再通过水平维度学习每种SQL语法的扩展,以深入理解并灵活运用各种复杂的SQL查询。然后学习不同SQL、表之间如何进行组合,例如子查询、表连接等,同时还会讲解一些高级用法,例如窗口函数等。最后通过高频考点和面试题精讲,来巩固所学知识,助力面试。
同时,我们还可以在平台上进行实战练习,在实际运用中提升自己的SQL能力,点此访问。
写在前面的一些约定:
- SQL的大小写不敏感,为了方便阅读,我们将关键字大写,表名、列名小写,这样也符合SQL规范,在实际使用中,不必强求。
- 本教程中的SQL语句以MySQL为例,不同数据库的SQL语法可能有细微差异,但基本语法是相通的。并且,MySQL是互联网企业使用最广泛的数据库(没有之一)。
- 本教程所涉及的数据(例如人名、分数等)均为虚构,仅用于学习目的,如有雷同,纯属巧合。
应该忽略的知识点
知道忽略什么比懂得重视什么更重要
存储过程和触发器一点不要看,用不着还费脑!
关系代数?面试官都不敢考,hold不住,不用学。
还有一些数据库知识点对于研发岗位同学来说很重要,但对于职能岗位同学的SQL面试来说,可以忽略:
- 事务
- 索引(可以略微了解)
- 视图(可以略微了解)
- 锁
- 多版本
- 等等