上周总结了《<廖雪峰python3教程>| 书评 + 学习笔记干货》。这次,分享SQL。
SQL是数据分析师最最最最基本的技能了,基础却重要。在这篇博文里,我将:
- 谈一谈我对这本书的感受
- 分享我整理的笔记
如果你正在找学习SQL的书籍,不妨看看我的书评~
如果你正准备秋招数据分析师,推荐看看这本书,也不妨看看我的笔记~
👀 PART 1. 谈谈这本书
如书名所述,这本书侧重基础,读起来毫无压力,一天可以非常轻松的读完一章,一个星期就可以把书过一遍。如果你想快速的重温一遍SQL,这本书非常合适。
- ☑️ 优点:看书不会太盲目,抓得到重点,也不会遗漏知识点。可以说这本书里的知识点都是你必须会的。
秋招的时候,我是直接刷题来巩固SQL的(我整理的《牛客网SQL实战二刷 | 完整解析 – 目录索引》)。但直接刷题最大的弊端就是,题库的知识点可能不全面。 哪怕我刷完了两遍,直到面试挂了,才知道原来有窗口函数(真是血淋淋的教训)。选择题里常考的事务/ACID特性,遇到了题目才发现原来不知道,然后才去记忆(看了书也不用死记硬背了,会基于理解的记忆)。
或许在实战(刷题)之前,我们更需要的是一份知识清单,简单、清晰、又不遗漏,这样才能有目标的学习,不走弯路不浪费时间,而这本书就是很好的知识点清单,可以说这本书里的知识点都是你必须会的。
否则,你只能祈求你的题库足够强大,刷足够多的题,甚至付出代价,浪费宝贵的面试机会才发现自己不会什么。
要是在更早前看了书,至少可以不会挂了bilibili。
但现在看书也不晚,至少在入职前搞清楚知识盲点。
总体来说,我是推荐这本书的。但它也有些不足,也不算硬伤:
- 1️⃣:因为侧重基础,所以讲的不会很深,有的知识点需要自己去发散、深挖和延伸拓展,这样才会有更多的收获。
举个例子,添加列,书本讲的是 ALTER TABLE ... ADD ...
。但是我自己会想,那一次性添加多列怎么做呢?添加列在指定位置怎么做呢?然后又去查找资料,举一反三,学习到了更多的用法。如果你不这样阅读,这本书对有SQL基础的人来说,可能会过于简单了。
- 2️⃣:书里有的说不支持的语法功能,现在版本的MySQL已经支持了,所以要带着考究的心态,边看书边质疑,边实证(自己run一遍)。
书本提供的绝大多数代码都是实际有效的。
💦PART 2. 学习笔记分享
边看书,边跑代码实例,边整理笔记。
笔记是非常personal的东西。一些我不会的知识点,可能你觉得太easy了;一些我会的你不会的知识点,我也没往笔记上记录。
所以,为了帮助大家更高效地运用我的笔记,我列了一份清单。如果有某个知识点你已经会了,那就可以跳过,有选择性的阅读我的笔记。
也可以拉到最后,直接看学习笔记~
📝 清单如下
- 注释的写法,包括(1)一行的注释(2)多行的注释。
- 添加列,包括(1)一次性添加多列(2)添加列在指定位置(3)添加列为第一列。
- 删除列,删除多列。
- 多行INSERT
- 变更表名字有三种写法
- COUNT()的用法,包括(1)COUNT(*)和COUNT(<列名>)在计算时候的区别(2)带有条件的COUNT()
- 聚合函数会不会计算上NULL
- MAX/MIN函数的性质
- 有些条件既可以写在HAVING字句中,又可以写在WHERE字句中,这是哪些条件?这种情况下,条件写在哪个子句中比较好?为什么?
- 从其他表中复制数据
- 数据的删除,包括(1)DROP TABLE 🆚 DELETE(2)清空表(3)删除指定数据行(4)DELETE 🆚 TRUNCATE
- 数据的更新,包括(1)UPDATE(2)更新指定条件的数据行(#)使用UPDATE将值清空为NULL(4)一次性多列更新
- 事务,包括(1)什么是事务(2)创建事务的语句(3)举例子(4)COMMIT(5)ROLLBACK(6)ACID特性
- 视图,包括(1)视图 🆚 表(2)视图的优点
- 关联子查询,分别用关联子查询和窗口函数两种方法实现对组内的统计
- 字符串拼接函数,(1)||(2)CONCAT()
- 字符串的替换
- 字符串的截取SUBSTRING
- 日期函数,包括(1)获取当前日期(2)获取当前时间(3)获取当前日期和时间(4)截取日期元素
- 转换函数,包括(1)CAST(2)COALESCE
- CASEWHEN 行列转换
- 表的集合运算,包括(1)UNION 🆚 UNION ALL (2)MySQL不支持INTERSECT和EXCEPT,这种情况下怎么实现
- 窗口函数,包括(1)那些函数可以作为窗口函数(2)为什么叫窗口函数(3)不指定PARTITION BY(4)关于排序的窗口函数(5)作为窗口函数使用的聚合函数(6)计算移动平均
- GROUPING 运算符,包括(1)ROLLUP(2)GROUPING函数(3)CUBE(4)GROUPING SETS函数
知识点主要从《SQL基础教程第2版》中摘录的,学习过程中还参考了一些网络上的资料,整理而成的。如果你直接看我的笔记也不能理解,那直接去看原著吧,或者参考更多的书目和资料。
🙋 获得笔记
所有的笔记都记录在 《<SQL基础教程第2版> 学习笔记分享 by圣洁不吃冰淇凌》,sql格式文件,获取文件通过百度网盘 👇
链接: https://pan.baidu.com/s/18Qy0wpBbzlx9GrUpC8-_mg
提取码: 8pr9
希望你也有所收获 ~ ❤️