SQL基础教程 第2版

SQL基础教程 第2版 pdf epub mobi txt 电子书 下载 2026

[日] MICK 著,孙淼,罗勇 译
图书标签:
  • SQL
  • 数据库
  • 入门
  • 教程
  • 第2版
  • SQL基础
  • 数据查询
  • 数据管理
  • 编程
  • 技术
想要找书就要到 静思书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 人民邮电出版社
ISBN:9787115455024
版次:2
商品编码:12212242
包装:平装
丛书名: 图灵程序设计丛书
开本:16开
出版时间:2017-05-01
用纸:胶版纸
页数:320
正文语种:中文

具体描述

编辑推荐

适读人群 :本书适合数据库和SQL语言的初学者阅读,也可作为大中专院校的教材及企业新人培训用书。
zi深数据库工程师写给初学者的实用指南!
107张图表+209段代码+88个法则,菜鸟进阶bi备!
基于标准SQL编写,明示各RDBMS(PostgreSQL DB2 MySQL Oracle SQL Server)的差异!

1.畅销书全新升级,内容更新更全面!
第1版豆瓣评分8.8分,重印13次,好评如潮。第2版基于新版本RDBMS全面升级,并新增一章介绍从应用程序执行SQL语句的方法。

2.由浅入深,结构清晰,真正适合初学者!
从数据库、表的结构到查询、更新表的语法,常用的函数,表的联结等,内容逐步深入。对于初学者常见的疑难点,均通过专栏进行讲解。各章节后精心设计了练习题,帮助读者巩固理解。

3.双色印刷,排版独特,让你读起来不累!
双色印刷赏心悦目,“学习重点”“KEYWORD”“备忘”“法则”“专栏”等各种小模块帮你梳理知识点,让学习过程事半功倍。

内容简介

本书是畅销书《SQL基础教程》第2版,介绍了关系数据库以及用来操作关系数据库的SQL语言的使用方法。书中通过丰富的图示、大量示例程序和详实的操作步骤说明,让读者循序渐进地掌握SQL的基础知识和使用技巧,切实提高编程能力。每章结尾设置有练习题,帮助读者检验对各章内容的理解程度。另外,本书还将重要知识点总结为“法则”,方便读者随时查阅。第2版除了将示例程序更新为对应*新的DB的SQL之外,还新增了一章,介绍如何从应用程序执行SQL。

作者简介

MICK(作者)
日本zi深数据库工程师,就职于SI企业,致力于商业智能和数据仓库的开发。为CodeZine(http: codezine.jp)及IT杂志WEB+DB PRESS撰写技术文章。著作有《跟达人学SQL》《跟达人学DB设计》,是Joe Celko's SQL Puzzles and Answers,Second Edition、Joe Celko's SQL for Smarties,Fourth Edition: Advanced SQL Programming的日文版的译者。

孙淼(译者)
从事对日软件设计和研发工作十余年,曾于2007年至2009年赴日学习工作,2015年至今再次长期赴日工作。精通应用Java、PHP进行Web框架的设计开发,并且有Oracle、Teradata、MySQL、NoSQL等多种数据库的设计开发经验。乐于品味生活细微的点滴,热衷于品尝和制作美食。译有《SQL基础教程》等。

罗勇(译者)
从事对日软件设计和研发工作十余年,曾多次赴日学习工作,目前就职于日本某大型企业。痴迷于技术和框架的研究,多次参与项目的需求分析、概要设计,精通多语言的Web框架和数据库的设计开发。业余爱好足球,和家人旅行。译有《SQL基础教程》《NoSQL数据库入门》《明解C语言》等。

目录

第0章 绪论——搭建SQL的学习环境 1
0-1 PostgreSQL的安装和连接设置 3
安装步骤 3
修改设置文件 7
0-2 通过PostgreSQL执行SQL语句 9
连接PostgreSQL(登录) 9
执行SQL语句 10
创建学习用的数据库 11
连接学习用的数据库(登录) 12
第1章 数据库和SQL 13
1-1 数据库是什么 15
我们身边的数据库 15
为什么DBMS那么重要 16
DBMS的种类 18
1-2 数据库的结构 20
RDBMS的常见系统结构 20
表的结构 22
1-3 SQL概要 25
标准SQL 25
SQL语句及其种类 26
SQL的基本书写规则 27
1-4 表的创建 30
表的内容的创建 30
数据库的创建(CREATE DATABASE语句) 31
表的创建(CREATE TABLE语句) 31
命名规则 33
数据类型的指定 34
约束的设置 35
1-5 表的删除和更新 37
表的删除(DROP TABLE语句) 37
表定义的更新(ALTER TABLE语句) 38
向Product表中插入数据 39
练习题 42
第2章 查询基础 43
2-1 SELECT语句基础 45
列的查询 45
查询出表中所有的列 47
为列设定别名 48
常数的查询 50
从结果中删除重复行 50
根据WHERE语句来选择记录 53
注释的书写方法 55
2-2 算术运算符和比较运算符 57
算术运算符 57
需要注意NULL 58
比较运算符 60
对字符串使用不等号时的注意事项 62
不能对NULL使用比较运算符 65
2-3 逻辑运算符 68
NOT运算符 68
AND运算符和OR运算符 70
通过括号强化处理 72
逻辑运算符和真值 74
含有NULL时的真值 76
练习题 78
第3章 聚合与排序 79
3-1 对表进行聚合查询 81
聚合函数 81
计算表中数据的行数 82
计算NULL之外的数据的行数 83
计算合计值 84
计算平均值 86
计算最大值和最小值 87
使用聚合函数删除重复值(关键字DISTINCT) 89
3-2 对表进行分组 91
GROUP BY子句 91
聚合键中包含NULL的情况 93
使用WHERE子句时GROUP BY的执行结果 94
与聚合函数和GROUP BY子句有关的常见错误 96
3-3 为聚合结果指定条件 101
HAVING子句 101
HAVING子句的构成要素 104
相对于HAVING子句,更适合写在WHERE子句中的条件 105
3-4 对查询结果进行排序 108
ORDER BY子句 108
指定升序或降序 110
指定多个排序键 111
NULL的顺序 111
在排序键中使用显示用的别名 112
ORDER BY子句中可以使用的列 114
不要使用列编号 114
练习题 116
第4章 数据更新 117
4-1 数据的插入(INSERT语句的使用方法) 119
什么是INSERT 119
INSERT语句的基本语法 120
列清单的省略 123
插入NULL 123
插入默认值 124
从其他表中复制数据 126
4-2 数据的删除(DELETE语句的使用方法) 129
DROP TABLE语句和DELETE语句 129
DELETE语句的基本语法 129
指定删除对象的DELETE语句(搜索型DELETE) 130
4-3 数据的更新(UPDATE语句的使用方法) 133
UPDATE语句的基本语法 133
指定条件的UPDATE语句(搜索型UPDATE) 134
使用NULL进行更新 135
多列更新 136
4-4 事务 138
什么是事务 138
创建事务 139
ACID特性 144
练习题 145
第5章 复杂查询 147
5-1 视图 149
视图和表 149
创建视图的方法 151
视图的限制① ——定义视图时不能使用ORDER BY子句 154
视图的限制② ——对视图进行更新 155
删除视图 159
5-2 子查询 160
子查询和视图 160
子查询的名称 163
标量子查询 163
标量子查询的书写位置 166
使用标量子查询时的注意事项 167
5-3 关联子查询 168
普通的子查询和关联子查询的区别 168
关联子查询也是用来对集合进行切分的 171
结合条件一定要写在子查询中 172
练习题 173
第6章 函数、谓词、CASE表达式 175
6-1 各种各样的函数 177
函数的种类 177
算术函数 178
字符串函数 182
日期函数 190
转换函数 194
6-2 谓词 198
什么是谓词 198
LIKE谓词——字符串的部分一致查询 198
BETWEEN谓词——范围查询 202
IS NULL、IS NOT NULL——判断是否为NULL 203
IN谓词——OR的简便用法 204
使用子查询作为IN谓词的参数 205
EXIST谓词 210
6-3 CASE表达式 214
什么是CASE表达式 214
CASE表达式的语法 214
CASE表达式的使用方法 215
练习题 221
第7章 集合运算 223
7-1 表的加减法 225
什么是集合运算 225
表的加法——UNION 225
集合运算的注意事项 228
包含重复行的集合运算——ALL选项 229
选取表中公共部分——INTERSECT 230
记录的减法——EXCEPT 231
7-2 联结(以列为单位对表进行联结) 234
什么是联结 234
内联结——INNER JOIN 235
外联结——OUTER JOIN 240
3张以上的表的联结 243
交叉联结——CROSS JOIN 246
联结的特定语法和过时语法 249
练习题 254
第8章 SQL高级处理 255
8-1 窗口函数 257
什么是窗口函数 257
窗口函数的语法 258
语法的基本使用方法——使用RANK函数 258
无需指定PARTITION BY 261
专用窗口函数的种类 262
窗口函数的适用范围 263
作为窗口函数使用的聚合函数 264
计算移动平均 266
两个ORDER BY 269
8-2 GROUPING运算符 271
同时得到合计行 271
ROLLUP——同时得出合计和小计 272
GROUPING函数——让NULL更加容易分辨 277
CUBE——用数据来搭积木 279
GROUPING SETS——取得期望的积木 281
练习题 282
第9章 通过应用程序连接数据库 283
9-1 数据库世界和应用程序世界的连接 285
数据库和应用程序之间的关系 285
驱动——两个世界之间的桥梁 286
驱动的种类 287
9-2 Java基础知识 289
第一个程序Hello,World 289
编译和程序执行 291
常见错误 294
9-3 通过Java连接PostgreSQL 298
执行SQL语句的Java程序 298
Java是如何从数据库中获取数据的呢 299
执行连接数据库的程序 301
选取表中的数据 302
更新表中的数据 305
小结 307
练习题 307
附录 练习题答案 308
SQL基础教程 第2版 书名:SQL基础教程 第2版 内容简介: 在数据日益成为核心资产的今天,掌握结构化查询语言(SQL)已不再是专业数据库管理员或开发人员的专属技能,而是跨越各行各业、从初学者到资深从业者必备的核心竞争力。本书《SQL基础教程 第2版》正是为希望系统、深入地理解并熟练运用SQL语言的读者量身打造的权威指南。本书以循序渐进、注重实战的教学理念,从SQL最基础的概念出发,逐步深入到高级主题,旨在帮助读者建立起坚实的SQL知识体系,并能独立解决实际数据管理和分析问题。 本书亮点概览: 体系化教学,从零开始: 无论您是完全没有接触过数据库和SQL的初学者,还是有过零散接触但希望系统梳理知识的进阶者,本书都将为您提供清晰的学习路径。我们从最核心的数据库概念、SQL的起源与发展讲起,逐步引导您理解数据模型、表结构、数据类型等基础构建块。 核心概念的深入解析: 本书将详细阐述SQL语言的核心组成部分,包括数据定义语言(DDL)、数据操作语言(DML)、数据控制语言(DCL)和事务控制语言(TCL)。您将深入理解如何使用CREATE、ALTER、DROP等语句来创建、修改和删除数据库对象;掌握SELECT、INSERT、UPDATE、DELETE等语句进行数据的查询、添加、修改和删除。 强大的数据查询能力: SELECT语句是SQL的灵魂。本书将花费大量篇幅,系统讲解SELECT语句的各种强大功能,包括基本的列选择、WHERE子句的条件过滤、ORDER BY子句的数据排序、LIMIT/OFFSET(或TOP/FETCH FIRST)进行分页查询。 多表关联的精髓: 现实世界的数据往往分散在多个表中,如何将这些关联的数据有效地整合起来是SQL应用的重中之重。本书将详细讲解JOIN操作,涵盖INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN以及CROSS JOIN,并配以丰富的示例,帮助您理解不同JOIN类型的工作原理及其适用场景,确保您能准确无误地从关联表中提取所需信息。 聚合与分组的艺术: 数据分析离不开对大量数据的汇总和统计。本书将深入讲解聚合函数(如COUNT, SUM, AVG, MIN, MAX)以及GROUP BY子句和HAVING子句。您将学会如何对数据进行分组,计算每组的统计指标,并根据特定条件过滤分组结果,从而揭示数据中的规律和洞察。 子查询与高级查询技巧: 为了处理更复杂的数据需求,本书将引导您掌握子查询(Subqueries)的应用,包括在SELECT列表、FROM子句、WHERE子句中使用子查询,以及与IN、EXISTS、ANY、ALL等操作符的配合使用。此外,还将介绍一些高级查询技巧,如窗口函数(Window Functions),它们在数据分析和报表生成中扮演着越来越重要的角色,能够执行复杂的排名、累积计算等操作。 数据完整性与约束: 确保数据的准确性和一致性是数据库设计的基石。本书将详细讲解各种约束,如PRIMARY KEY(主键)、FOREIGN KEY(外键)、UNIQUE(唯一约束)、NOT NULL(非空约束)和CHECK(检查约束),并阐述它们在维护数据完整性方面的作用。 视图(Views)与索引(Indexes): 视图可以简化复杂的查询,提供数据的逻辑视图,而索引是提高查询性能的关键。本书将详细介绍如何创建和使用视图,以及理解不同类型的索引(如B-tree索引、哈希索引)及其工作原理,帮助您优化数据库性能。 事务管理与并发控制: 在多用户访问的环境下,保证数据的一致性至关重要。本书将深入讲解事务(Transactions)的概念,ACID特性(原子性、一致性、隔离性、持久性),以及如何使用BEGIN TRANSACTION、COMMIT、ROLLBACK等语句来管理事务。同时,也会触及并发控制的基础知识,帮助您理解不同隔离级别对数据访问的影响。 SQL函数宝库: SQL提供了丰富的内置函数,用于字符串处理、日期时间计算、数值运算、类型转换等。本书将系统介绍常用的字符串函数(如SUBSTRING, CONCAT, LENGTH)、日期函数(如NOW, DATE_FORMAT, DATEDIFF)、数学函数(如ROUND, CEIL, FLOOR)等,并提供实用的应用示例,让您能灵活运用这些函数解决实际问题。 实战导向,案例丰富: 本书最大的特色在于其高度的实战性。每一项SQL概念和功能都配有清晰、易懂的代码示例,并结合实际业务场景进行讲解,让您能够直接上手实践。本书包含大量精选的练习题和项目案例,覆盖从简单的数据查询到复杂的数据分析,帮助读者在实践中巩固所学知识,提升解决实际问题的能力。 跨数据库平台的通用性: SQL是一种标准语言,但不同数据库管理系统(DBMS)在语法细节上可能存在差异。本书在介绍SQL标准的同时,也会结合主流的数据库系统(如MySQL, PostgreSQL, SQL Server, Oracle)的常见用法和特性进行说明,确保读者掌握的知识具有广泛的适用性。 附录与扩展: 为了方便读者查阅和进一步学习,本书提供了SQL常用命令速查表、常见的SQL错误及解决方法等实用附录,并推荐了进一步学习的资源和方向。 本书适合读者: 计算机科学与技术、软件工程、信息管理等相关专业的学生: 系统学习数据库理论和SQL语言的必备教材。 软件开发人员: 无论前端、后端还是全栈工程师,熟练掌握SQL都是不可或缺的基本功。 数据分析师、商业智能(BI)从业者: SQL是进行数据提取、清洗、转换和初步分析的核心工具。 数据库管理员(DBA): 巩固和深化SQL理论,提升数据库管理和优化能力。 对数据管理和分析感兴趣的初学者: 希望从零开始,系统学习一项有价值的技能。 希望提升工作效率的各行业专业人士: 如市场营销、财务、运营等,能够利用SQL进行自助式数据查询和分析。 《SQL基础教程 第2版》不仅仅是一本技术书籍,更是您打开数据世界大门、解锁数据价值的钥匙。通过本书的学习,您将能够自信地与数据库对话,高效地管理和分析数据,为您的学习和工作带来质的飞跃。我们相信,掌握SQL,您将能够在快速发展的数据时代中,拥有更强的竞争力。

用户评价

评分

作为一个对数据可视化有着浓厚兴趣的人,我一直在寻找一本能让我更好地理解数据并将其转化为洞察的书籍。《SQL基础教程 第2版》虽然名字听起来很基础,但它在这方面给了我意想不到的惊喜。书中很多章节在讲解SQL语句的同时,都巧妙地融入了数据分析的思路。例如,在讲解聚合函数(SUM, AVG, COUNT, MAX, MIN)的时候,作者不仅仅是教你如何计算这些值,更强调了如何利用这些聚合结果来分析趋势、比较分组、发现异常值。书中的案例很多都直接指向实际应用场景,比如如何通过SQL查询来统计用户活跃度、分析销售额变化、找出热门商品等等。这些分析方法让我意识到,SQL不仅仅是数据的“搬运工”,更是数据“挖掘机”和“分析师”。特别是关于窗口函数(Window Functions)的讲解,这部分内容我之前在其他书籍里看到过,但总觉得很难理解。这本书用了非常直观的方式,将窗口函数比作“在一个滑动窗口中进行计算”,然后通过实际例子,比如计算用户在不同时间段的累计消费、计算每个产品在销售排行榜上的名次等等,让我彻底掌握了窗口函数的强大之处。这对于我后续使用Tableau、Power BI等工具进行数据可视化,提供了坚实的数据准备基础。

评分

这本书真的太及时了!我最近刚开始接触数据库,感觉有点不知所措。以前听说过SQL,但总觉得它离我太远,直到这次工作需要,我才不得不硬着头皮开始学。拿到《SQL基础教程 第2版》这本书的时候,我其实没抱太大希望,想着能看得懂一点是一点。结果呢,打开第一页就被深深吸引了。作者的语言非常亲切,不像那种枯燥的技术手册,更像是老朋友在给我讲解。他从最基础的概念讲起,比如什么是数据库,什么是表,什么是字段,这些我之前完全摸不着头脑的东西,在他的解释下变得清晰明了。而且,他不是那种上来就丢一堆代码让你去背,而是通过很多生活化的例子来引入,比如用图书馆藏书、学生成绩管理来类比数据库的结构,瞬间就让我get到了核心思想。我尤其喜欢的是他讲解SELECT语句的部分,一开始我还以为会很难,结果他用了循序渐进的方式,先从最简单的查询所有列开始,然后慢慢加入WHERE条件、ORDER BY排序,再到GROUP BY分组聚合,每一步都有实际的练习和结果展示,我跟着一步一步敲,看着结果一点点变化,那种成就感真的无与伦比。这本书让我觉得学习SQL不再是件令人畏惧的事情,反而成了一种有趣的探索过程,我开始对数据库的世界充满了好奇。

评分

我原本以为我已经是SQL的“老司机”了,毕竟在项目里也写了不少查询语句,也算是有一些实操经验。但读了《SQL基础教程 第2版》之后,我才意识到自己之前的学习方式有多么零散和低效。这本书给我最大的震撼在于它对SQL的系统性梳理。我之前很多模糊的概念,比如JOIN的各种类型(INNER, LEFT, RIGHT, FULL),以及它们之间细微的差别,我一直都是凭感觉在用,偶尔还会出错。这本书用非常清晰的图示和逻辑推理,把这些 JOIN 操作的核心原理讲得明明白白,特别是对于 LEFT JOIN 和 RIGHT JOIN 的理解,我总觉得有点混淆,但这本书通过一些精心设计的例子,让我一下子就区分开来,而且还讲解了什么情况下应该使用哪种 JOIN,避免了不必要的性能损耗。更让我惊喜的是,书中还深入讲解了子查询、视图、索引等进阶概念,这些是我之前很少接触或者了解不深的。尤其是索引部分,以前我只知道“创建索引能提高查询速度”,但这本书详细解释了不同类型的索引(B-tree, Hash等)的原理,以及什么时候应该创建索引,什么时候不应该,甚至还讲到了索引的维护和优化策略。这些内容对于提升我的SQL功力,写出更高效、更健壮的SQL语句,起到了至关重要的作用。这本书让我从“会写SQL”升级到了“懂SQL”。

评分

这本书的优点实在太多了,让我一时不知道从何说起。我特别喜欢它在讲解一些相对“硬核”的概念时,所采用的那种循序渐进、化繁为简的方式。《SQL基础教程 第2版》在事务(Transactions)和并发控制(Concurrency Control)方面的讲解,是我读过最清晰的。我之前一直对数据库的ACID特性(原子性、一致性、隔离性、持久性)感到模糊,以为只要写对了SQL语句就万事大吉了。但这本书让我明白,在多用户同时访问和修改数据的情况下,保证数据的一致性和正确性是多么重要。它用生动的例子,比如银行转账、多人同时修改同一份文档,来解释什么是事务,以及为什么需要事务。然后,它又深入浅出地讲解了数据库是如何通过锁机制(Locking Mechanisms)、MVCC(Multi-Version Concurrency Control)等技术来实现事务的隔离性,这让我对数据库的底层工作原理有了更深的理解。虽然这些概念听起来可能有点抽象,但作者总是能用恰当的比喻和图示,将它们解释得易于理解。这本书让我意识到,要真正精通SQL,不仅要会写查询语句,还要了解数据库是如何保证数据安全和可靠的,这对于我今后在数据安全和系统稳定性方面的工作,提供了重要的理论指导。

评分

这本书真的让我受益匪浅,特别是在处理复杂数据关系的时候。我之前在工作中经常遇到需要合并多个表的数据,但每次都搞得焦头烂额,JOIN语句写得又长又乱,而且还不确定是否正确。阅读《SQL基础教程 第2版》之后,我感觉自己对SQL的“连接”能力有了全新的认识。书中对各种JOIN类型进行了非常详尽的解释,不仅仅是简单的定义,而是通过大量图示和具体代码示例,让你能够直观地理解不同 JOIN 操作的结果。我印象最深的是它讲解了如何使用多表连接来解决实际问题,比如在一个电商系统中,如何通过用户表、订单表、商品表,查询出每个用户的购买记录,包括购买的商品名称、价格、下单时间等等。这种一步步构建复杂查询的讲解方式,让我能够清晰地看到每一步 JOIN 带来的数据变化,从而更好地掌握如何组合和优化 JOIN 语句。此外,书中还提到了子查询的应用,以及如何将子查询嵌套在JOIN条件中,这对于处理一些更复杂的数据关联逻辑非常有帮助。我感觉这本书不仅仅是教我如何写 SQL,更是教我如何“思考”如何用 SQL 来组织和连接数据,这对于我今后的数据建模和ETL工作,都将产生深远的影响。

评分

不错,是本好书,第二次买来看了

评分

工作需要!

评分

入门必备

评分

买的书不错,包装也不错,之前感觉是新的

评分

很好,组员说很实用

评分

这个很简单,我这种小白完全没有问题,觉得学起来好有意思

评分

good good real good 超过20字了吧?

评分

适合新手进行SQL的入门。可以不用书上推荐的软件,其他的SQL也能用。

评分

书很不错 正在一点一点的跟着学 很基础适合我这样的小白 不过就是不是mysql 不过还好语法差别不大

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.tinynews.org All Rights Reserved. 静思书屋 版权所有