本书是畅销书《SQL基础教程》第2版,介绍了关系数据库以及用来操作关系数据库的SQL语言的使用方法。书中通过丰富的图示、大量示例程序和详实的操作步骤说明,让读者循序渐进地掌握SQL的基础知识和使用技巧,切实提高编程能力。每章结尾设置有练习题,帮助读者检验对各章内容的理解程度。另外,本书还将重要知识点总结为“法则”,方便读者随时查阅。第2版除了将示例程序更新为对应新版本的DB的SQL之外,还新增了一章,介绍如何从应用程序执行SQL。
这个项目记录了北京大学AFT协会对《SQL基础教程》第2版的学习笔记,同时也特别感谢Master_lisa为本书录制的学习视频
除了《SQL基础教程》第2版之外,我们也推荐其他一些学习资料:《MySQL必知必会》,W3school SQL教程,哈佛CS50
GitHub的markdown不再支持tex公式的解析显示,使用Chrome的同学可以安装GitHub with MathJax添加MathJax的解析以对公式正常显示。
如果需要直接阅读模式,可以移步至我们的github.io进行阅读:《SQL基础教程》第2版读书笔记
- 绪论——搭建SQL的学习环境
- PostgreSQL的安装和连接设置
- 通过PostgreSQL执行SQL语句
- 数据库和SQL
- 数据库是什么
- 数据库的结构
- SQL概要
- 表的创建
- 表的删除和更新
- 查询基础
- SELECT语句基础
- 算术运算符和比较运算符
- 逻辑运算符
- 聚合排序
- 对表进行聚合查询
- 对表进行分组
- 为聚合结果指定条件
- 对查询结果进行排序
- 数据更新
- 数据的插入(INSERT语句的使用方法)
- 数据的删除(DELETE语句的使用方法)
- 数据的更新(UPDATE语句的使用方法)
- 事务
- 复杂查询
- 视图
- 子查询
- 关联子查询
- 函数、谓词、CASE表达式
- 各种各样的函数
- 谓词
- CASE表达式
- 集合运算
- 表的加减法
- 联结(以列为单位对表进行联结)
- SQL高级处理
- 窗口函数
- GROUPING运算符
- 通过应用程序连接数据库
- 据库世界和应用程序世界的连接
- Java基础知识
- 通过Java连接PostgreSQL
持续更新中,欢迎贡献便于理解的优秀代码示例,推荐使用Python代码和Jupyter Notebook提交,并附上说明。
我们分为两个类别的贡献者。
- 负责人也就是对应的该章节案例维护者。
- 贡献者对应于主要的案例开发者。
学习时间 | 原书章节 | 对应案例 | 小组 | 贡献者 |
---|---|---|---|---|
03.23 | 第零章 绪论——搭建SQL的学习环境 | 绪论——搭建SQL的学习环境 | @CharlieSCC | |
04.01 | 第一章 数据库和SQL | 数据库和SQL | @jiangxunmu | |
04.02-04.12 | 第二章 查询基础 | 查询基础 | 1 | 宁 磊,张 婷, 商陈诚 |
04.02-04.12 | 第三章 聚合排序 | 聚合排序 | 1 | 宁 磊,张 婷, 商陈诚 |
04.13-04.19 | 第四章 数据更新 | 数据更新 | 2 | 李琳雄, 胡扬帆 |
04.20-04.26 | 第五章 复杂查询 | 复杂查询 | 3 | 杨子峻, 刘安诺 |
04.27-05.03 | 第六章 函数、谓词、CASE表达式 | 函数、谓词、CASE表达式 | 4 | 徐 航,张 榕 |
05.04-05.10 | 第七章 集合运算 | 集合运算 | 5 | 胡潇尹, 张曼娴 |
05.11-05.18 | 第八章 SQL高级处理 | SQL高级处理 | 6 | 封宇泽, 王梦婕 |
05.18-05.24 | 第九章 通过应用程序连接数据 | 哈佛CS50课 | 7 | 叶梦婕, 蔡紫宴, 曾涛涛 |
还有很多同学提出了不少建议,我们都列在此处。
@CharlieSCC @jiangxunmu ...
如有遗漏,请务必通知我们,可以发邮件至pkuscc@stu.pku.edu.cn
。
这是我们必须要感谢的,所以不要不好意思。