×
图文详情
  • ISBN:9787115455024
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:32开
  • 页数:320
  • 出版时间:2017-06-01
  • 条形码:9787115455024 ; 978-7-115-45502-4

本书特色

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

目录

第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
展开全部

作者简介

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语言》等。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航