SQL基础教程 第2版

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

[日] 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的“老司机”了,毕竟在项目里也写了不少查询语句,也算是有一些实操经验。但读了《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工作,都将产生深远的影响。

评分

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

评分

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

评分

比较基础

评分

SQL基础教程,很适合入门及系统学习SQL有关知识,写的通俗易懂!双十一搞活动买的,很实惠,而且京东快递还是一如既往的快,没有因为节日受到太大的影响,这点比其他一些快递强多了!

评分

质量不错,质量不错,质量不错,质量不错,质量不错,可以

评分

挺好的,下次还可以过来再看看

评分

质量不错,质量不错,质量不错,质量不错,质量不错,可以

评分

书不错,比较基础但很扎实,适合新手学习或者老手复习

评分

睡觉睡觉实际上就是计算机刷卡山卡卡刷卡刷卡

评分

知乎推荐的,应该还不错

评分

质量不错

相关图书

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

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有