SQL进阶教程读后总结与感想

news2024/10/7 6:48:25

1. 基本信息

SQL进阶教程

[日]MICK

人民邮电出版社,2017年11月出版,1版

1.1. 读薄率

书籍总字数455千字,笔记总字数25820字。

读薄率25820÷455000≈5.67%

1.2. 读厚方向

  1. SQL权威指南(第4版)

  2. SQL解惑(第2版)

  3. SQL编程风格

  4. 深度探索关系数据库:实践者的关系理论

  5. SQL经典实例

1.3. 笔记--章节对应关系

笔记章节字数
读SQL进阶教程笔记01_CASE表达式1-1 CASE表达式1472
读SQL进阶教程笔记02_三值逻辑和NULL1-3 三值逻辑和NULL1989
读SQL进阶教程笔记03_自连接1-2 自连接的用法1266
读SQL进阶教程笔记04_集合运算1-7 用SQL进行集合运算1471
读SQL进阶教程笔记05_关联子查询1-6 用关联子查询比较行与行1533
读SQL进阶教程笔记06_外连接1-5 外连接的用法2217
读SQL进阶教程笔记07_EXISTS谓词1-8 EXISTS谓词的用法1704
读SQL进阶教程笔记08_处理数列1-9 用SQL处理数列1652
读SQL进阶教程笔记09_HAVING上1-10 HAVING子句又回来了1545
读SQL进阶教程笔记10_HAVING下1-4 HAVING子句的力量1315
读SQL进阶教程笔记11_关系数据库基础2-1 关系数据库的历史
2-2 为什么叫“关系”模型
2-3 开始于关系,结束于关系
1494
读SQL进阶教程笔记12_地址与三值逻辑2-4 地址这一巨大的怪物
2-8 人类的逻辑学
929
读SQL进阶教程笔记13_SQL中的分组和层级2-5 GROUP BY和PARTITION BY
2-10 SQL中的层级
1258
读SQL进阶教程笔记14_SQL编程要点2-9 消灭NULL委员会
1-12 SQL编程方法
1934
读SQL进阶教程笔记15_SQL编程思维2-7 SQL和递归集合
2-6 从面向过程思维向声明式思维、面向集合思维转变的7个关键点
1301
读SQL进阶教程笔记16_SQL优化让SQL飞起来1-11 让SQL飞起来2740
总计25820

2. 亮点

2.1. 三值逻辑

除了true/false之外,还有其他状态,其实不单单是三值。

2.2. NULL

查不出,查不快,很可能就是null这个幽灵在作祟,你又无法根除它,只能时刻保持警惕。

2.3. 集合论

过程(命令)式思维要转换为按照集合论的思维考虑问题。

2.4. SQL和函数式编程

两者很像,都不同于过程(命令)式。

3. 感想

3.1. 原以为自己会SQL,读后发现,不会的不少啊

书到用时方恨少,读了之后,发现SQL还可以这么玩,果然牛掰!

3.2. 思维转换

套用大话西游的台词“以前我是用肉眼去看这个世界,到后来我才明白应该用心去看这个世界。”

以前我是用过程(命令)式思维去看这个世界,到后来我才明白也可以用集合论或者函数式思维去看这个世界。

所以,近一段时间,阅读函数式编程和SQL编程的书籍较多。

3.3. 经典书籍

2023年2月人民邮电出版社已经出版第2版,建议阅读第2版。

另外,原书练习题和第三章附录答案等,也很有意思,有兴趣的同学可以找来做做。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/574829.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据库数据量大了怎么办? 当然是分库分表,Sharding-JDBC了解一下?

Sharding-JDBC是一款基于JDBC规范的分布式数据库中间件,可以帮助Java应用轻松实现水平分库分表、读写分离等分布式数据库功能,并提供了方便易用、高可用、高性能的数据访问解决方案。本文将从以下几个方面进行详细介绍: Sharding-JDBC的原理…

chatgpt赋能python:Python录屏录音介绍

Python录屏录音介绍 在日常工作和学习中,录制屏幕和录制音频是一件很常见的事情。Python语言拥有强大的生态系统和第三方库支持,也可以轻松实现录制屏幕和录制音频的功能。本篇文章将介绍如何使用Python语言实现录屏录音功能。 Python录屏 录制屏幕可…

numpy包中的取余函数和取模函数numpy.remainder()numpy.mod()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 numpy包中的取余函数和取模函数 numpy.remainder() numpy.mod() 下列代码中np.remainder(m,2)输出的结果是? import numpy as np m np.array([4, 5, 6]) print("【显示】m &…

chatgpt赋能python:Python局部导入:提升代码效率与性能

Python 局部导入: 提升代码效率与性能 Python 是一种强大的编程语言,为开发者提供了许多工具和库,以简化开发过程。在项目中,对于复杂的代码文件,Python 的模块化设计可以让我们将代码分解为更小的组件,以便更好地维护…

chatgpt赋能python:Python的声音处理能力

#Python的声音处理能力 Python 是一种多功能编程语言,强有力的功能和库使它成为一种广泛使用的工具。Python也可以用于处理声音。在本文中,我们将深入了解Python的声音处理能力,并介绍使用Python处理声音的一些库和工具。 ##声音处理的步骤…

chatgpt赋能python:Python循环等待:什么是它?如何解决?

Python 循环等待:什么是它?如何解决? 在 Python 编程中,循环等待是一种常见的问题。它发生在代码一直等待某个操作的结果,而这个结果却永远不会到来。这种情况会导致程序停顿或挂起,从而影响整个应用程序。…

【 react项目 nginx配置服务 按钮点击可以进入页面,如果刷新页面或者通过链接进入页面会报错】

问题 报错内容: react项目部署之后,按钮点击可以进入页面,如果刷新页面或者通过链接进入页面会报错 分析问题得出结论是: react项目,nginx需要配置重定向 解决方案 nginx部分配置: location / {rewri…

ThingsBoard教程(五四):规则节点解析 Azure IoT Hub Node, RabbitMQ Node

Azure IoT Hub Node Since TB Version 2.5.3 配置 主题 - 获取有关IoT Hub主题的更多信息,请使用以下链接。主机名 - Azure IoT Hub主机名。设备ID - 来自Azure IoT Hub的设备ID。凭据 - Azure IoT Hub连接凭据。可以是共享访问签名或PEM格式证书。Azure IoT Hub支持不同的…

网络分级设计模型的三层架构:接入层、汇聚层、核心层到底有什么说法?

你好,这里是网络技术联盟站。 在现代网络中,为了满足不同规模和需求的组织和企业的通信需求,网络架构通常会划分为多个层次,其中包括接入层、汇聚层和核心层。这些层次在网络组网中扮演着不同的角色和功能。 本文将详细介绍接入层…

红队大杀器 Behinder_v4.0(冰蝎4.0)

Behinder_v4.0 GitHub : https://github.com/rebeyond/Behinder/releases/tag/Behinder_v4.0 修复 1.修复了在zimbra环境下的兼容性问题; 2.修复了在exchange环境下的兼容性问题; 3.修复了Linux环境下打开文件失败的问题; 4.修复了命令执行中…

chatgpt赋能python:Python中局部变量的输出到全局

Python 中局部变量的输出到全局 在 Python 中,变量的作用域分为全局和局部两种。全局变量可以在整个程序中使用,而局部变量只能在其定义的函数或代码块中使用。但是,有时候我们需要在局部作用域中定义的变量在全局作用域中使用,本…

chatgpt赋能python:Python在线聊天:如何用Python构建在线聊天应用

Python 在线聊天:如何用 Python 构建在线聊天应用 Python 是一种广泛使用的编程语言,它的易读性和易用性使得它成为编写各种类型应用程序的首选语言,其中包括构建在线聊天应用。如果您想构建一个在线聊天应用程序,那么 Python 是…

<SQL>《SQL命令(含例句)精心整理版(6)》

《SQL命令(含例句)精心整理版(6)》 18 DB2查询语句18.1 查询数据库大小18.2 查看表占表空间大小18.3 查看正在执行的语句18.4 db2expln 查看执行计划18.5 db2advis 查看优化建议 19 空值19.1 NULL19.2 TRIM 18 DB2查询语句 18.1 …

chatgpt赋能python:Python常用扩展包

Python常用扩展包 Python本身就已经是一门非常强大的编程语言了,但是为了适应不同的应用场景, Python社区开发了许多扩展包。这些包涵盖了从数据科学到Web开发的各个领域,让Python的应用范围更加广泛。 下面我们将介绍一些常用的Python扩展…

数据链路层:封装成帧

1.数据链路层:封装成帧 笔记来源: 湖科大教书匠:封装成帧 声明:该学习笔记来自湖科大教书匠,笔记仅做学习参考 封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧 帧头和帧尾中包含重要的控制…

Vue Composition API之侦听器watch/watchEffect

目录 概述实例解析1.watch侦听器的用法基本使用深层侦听器即时回调监听器 2、watchEffect侦听器的用法3 停止侦听器 总结 概述 在日常的开发中,很多时候我们需要去对一些状态进行监听,比如当显示学生的成绩列表时,我们使用一个学生的学号stu…

【Python】循环语句 ④ ( for 循环 | for 循环基础语法 | 代码示例 - for 循环基础用法 | 代码示例2 - for 循环统计单词 )

文章目录 一、for 循环与 while 循环二、for 循环基础语法三、代码示例 - for 循环基础用法三、代码示例2 - for 循环统计单词 一、for 循环与 while 循环 for 循环 与 while 循环 可以 f实现 相同的 循环功能 , 二者有如下区别 : 循环条件不同 : while 循环 的 循环控制条件 …

C++学习笔记(四): 类、头文件、对象

一个类定义了一个类型&#xff0c;以及与其关联的一组操作。 类机制是C最重要的特性之一。实际上&#xff0c;C最初的一个设计焦点就是能定义使用上像内置类型一样自然的类类型&#xff08;class type&#xff09;。 #include <iostream>using namespace std;class Box …

撰写博客如何获得持续的关注和支持

完成一篇如何获得铁粉&#xff0c;或者相关的文章且质量分达到80分以上即可 最近的博客都是在AI主导下完成的&#xff0c;大数据和大模型的优势的确有不可取代的强大优势&#xff0c;这种优势超过了撰写8年博客加入CSDN18年所有经验和努力的总和。 是的&#xff0c;AI和大数据的…

IPv4 和 IPv6 的特点、区别以及在互联网中的应用

在当今互联网时代&#xff0c;IP 地址是连接和通信的基础。IPv4&#xff08;Internet Protocol version 4&#xff09;和 IPv6&#xff08;Internet Protocol version 6&#xff09;是两种常见的 IP 地址版本。IPv4 是最早广泛使用的 IP 地址协议&#xff0c;而 IPv6 则是 IPv4…