内容简介 · · · · · ·
本书是畅销书《SQL基础教程》第2版,介绍了关系数据库以及用来操作关系数据库的SQL语言的使用方法。书中通过丰富的图示、大量示例程序和详实的操作步骤说明,让读者循序渐进地掌握SQL的基础知识和使用技巧,切实提高编程能力。每章结尾设置有练习题,帮助读者检验对各章内容的理解程度。另外,本书还将重要知识点总结为“法则”,方便读者随时查阅。第2版除了将示例程序更新为对应新版本的DB的SQL之外,还新增了一章,介绍如何从应用程序执行SQL。
作者简介 · · · · · ·
作者简介:
MICK
日本资深数据库工程师,就职于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等多种数据库的设计开发...
作者简介:
MICK
日本资深数据库工程师,就职于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-1 PostgreSQL的安装和连接设置 3
安装步骤 3
修改设置文件 7
0-2 通过PostgreSQL执行SQL语句 9
连接PostgreSQL(登录) 9
· · · · · · (更多)
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 语言的使用方法。各个章节结合具体示例进行解说,并在每章的结尾安排了习题,用来检验读者对该章内容的理解程度。大家可以从第1 章开始,亲自验证示例程序,循序渐进地掌握SQL 的基础知识和技巧。另外,本书还将重要知识点总结为法则,方便读者在学习完本书之后随时查阅。 近年来,和其...
原文摘录 · · · · · · ( 全部 )
-
Problem running post-install step. Installation may not complete correectly. The database cluster initialisation failed. (查看原文) —— 引自第7页 -
细心的读者可能会发现,3-1 节介绍的 DISTINCT 和 3-2 节介绍的 GROUP BY 子句,都能够删除后续列中的重复数据。 除此之外,它们还会把 NULL 作为一个独立的结果返回,对多列使用时也会得到完全相同的结果。其实不仅处理结果相同,执行速度也基本上差不多,那么到底应该使用哪一个呢? 但其实这个问题本身就是本末倒置的,我们应该考虑的是该 SELECT 语句是否满足需求。选择的标准其实非常简单,在「想要删除选择结果中的重复记录」时使用 DISTINCT,在「想要计算汇总结果」时使用 GROUP BY。 不使用 COUNT 等聚合函数,而只使用 GROUP BY 子句的 SELECT 语句,会让人觉得非常奇怪,使人产生「到底为什么要对表进行分组呢?这样做有必要吗?」等疑问。 SQL 语句的语法与英语十分相似,理解起来非常容易,如果大家浪费了这一优势,编写出一些难以理解的 SQL 语句,那就太可惜了。 (查看原文) —— 引自第100页
> 全部原文摘录
丛书信息
· · · · · ·
喜欢读"SQL基础教程(第2版)"的人也喜欢的电子书 · · · · · ·
喜欢读"SQL基础教程(第2版)"的人也喜欢 · · · · · ·
SQL基础教程(第2版)的书评 · · · · · · ( 全部 10 条 )

如果说必学必会是小本的入门书籍,这本就是大本的

相比《SQL必知必会》,此书更适合入门

整体是本好书,不过变量命名给作者跪了。


> 更多书评 10篇
论坛 · · · · · ·
求助在安装完postgresql之后到选择地区这一步不知... | 来自Jarvis99 | 2021-02-24 20:19:54 | |
去官网下载安装postgreSQL时,第一步就安装失败,... | 来自狂暴羽绒服 | 2 回应 | 2020-10-29 19:01:11 |
这本书的其他版本 · · · · · · ( 全部3 )
-
人民邮电出版社 (2013)9.0分 290人读过
-
未知出版社暂无评分
以下书单推荐 · · · · · · ( 全部 )
- 豆瓣9分以上计算机图书 (晚安,本杰明)
- 工作后购书目录 (张小国)
- 我的产品运营数据书单 (Ziyang)
- 程序员面试 (葡萄)
- python (上海夏天)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
- 在豆瓣转让 有2737人想读,手里有一本闲着?
订阅关于SQL基础教程(第2版)的评论:
feed: rss 2.0
4 有用 围城观者 2019-07-06 00:42:13
SQL入门最好的书了,知道的人太少。
2 有用 小玄子玩不转 2021-04-16 11:21:15
感觉比MySQL必知必会还要好
2 有用 哎吆吆 2021-01-22 19:27:43
对新手异常友好,深入浅出,异常清晰。而且排版精致,读起来赏心悦目。真的是初级教程。 但是也有缺点,比如我读完了,还不知道啥是外键。其他好像也没啥了。先自己建个库玩玩。
16 有用 杨柳风 2020-04-06 02:20:48
太基础了,连很多基础的东西都没讲到,作为一本书买得有点亏。评论里谁说workbench的出来挨打!那玩意能用?装个navicat吧!
5 有用 Please 2020-02-16 00:43:17
sql的难点只有一个,子查询
0 有用 Heretic 2023-09-23 16:35:50 广东
读了很多本sql有关的,还是喜欢这本,可能跟语言表达的方式有关吧,感觉日本毕竟是亚洲的国家,相比欧美,从语言上会更加与中国相近,当然,英语好的当我没说
0 有用 拾万贯 2023-09-07 17:03:13 江苏
跟着复习梳理了一遍感觉大脑做了个spa💆♀️
0 有用 群青日和 2023-08-22 22:01:29 广东
不错的sql入门书籍
0 有用 FOX爱电影 2023-06-26 10:11:51 上海
还是非常基础的,看了自己平时工作会用的内容。看完了不是就结束了,还会温习。
0 有用 梓穗 2023-06-11 23:18:28 上海
最难的不一定是最难的,最简单的可能是最难的。