SQL基础教程
全新正版 极速发货
¥
34.21
4.3折
¥
79
全新
库存81件
作者(日)MICK 著;孙淼,罗勇 译 著
出版社人民邮电出版社
ISBN9787115455024
出版时间2017-06
装帧平装
开本16开
定价79元
货号1201523668
上书时间2024-11-14
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
MICK,日本资深数据库工程师,就职于SI企业,致力于商业智能和数据仓库的开发。为CodeZine及IT杂志WEB+DB PRESS撰写技术文章。著作有《跟达人学SQL》《跟达人学DB设计》,是Joe Celko&apos's SQL Puzzles and Answers,Second Edition、Joe Celko&apos'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章 数据库和SQL13
1—1 数据库是什么15
我们身边的数据库15
为什么DBMS那么重要16
DBMS的种类18
1—2 数据库的结构20
RDBMS的常见系统结构20
表的结构22
1—3 SQL概要25
标准SQL25
SQL语句及其种类26
SQL的基本书写规则27
1—4 表的创建30
表的内容的创建30
数据库的创建(CREATEDATABASE语句)31
表的创建(CREATETABLE语句)31
命名规则33
数据类型的指定34
约束的设置35
1—5 表的删除和更新37
表的删除(DROPTABLE语句)37
表定义的更新(ALTERTABLE语句)38
向Product表中插入数据39
练习题42
第2章 查询基础43
2—1 SELECT语句基础45
列的查询45
查询出表中所有的列47
为列设定别名48
常数的查询50
从结果中删除重复行50
根据WHERE语句来选择记录53
注释的书写方法55
2—2 算术运算符和比较运算符57
算术运算符57
需要注意NULL58
比较运算符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
GROUPBY子句91
聚合键中包含NULL的情况93
使用WHERE子句时GROUPBY的执行结果94
与聚合函数和GROUPBY子句有关的常见错误96
3—3 为聚合结果指定条件101
HAVING子句101
HAVING子句的构成要素104
相对于HAVING子句,更适合写在WHERE子句中的条件105
3—4 对查询结果进行排序108
ORDERBY子句108
指定升序或降序110
指定多个排序键111
NULL的顺序111
在排序键中使用显示用的别名112
ORDERBY子句中可以使用的列114
不要使用列编号114
练习题116
第4章 数据更新117
4—1 数据的插入(INSERT语句的使用方法)119
什么是INSERT119
INSERT语句的基本语法120
列清单的省略123
插入NULL123
插入默认值124
从其他表中复制数据126
4—2 数据的删除(DELETE语句的使用方法)129
DROPTABLE语句和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
视图的限制①——定义视图时不能使用ORDERBY子句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
ISNULL、ISNOTNULL——判断是否为NULL203
IN谓词——OR的简便用法204
使用子查询作为IN谓词的参数205
EXIST谓词210
6—3 CASE表达式214
什么是CASE表达式214
CASE表达式的语法214
CASE表达式的使用方法215
练习题221
第7章 集合运算223
7—1 表的加减法225
什么是集合运算225
表的加法——UNION225
集合运算的注意事项228
包含重复行的集合运算——ALL选项229
选取表中公共部分——INTERSECT230
记录的减法——EXCEPT231
7—2 联结(以列为单位对表进行联结)234
什么是联结234
内联结——INNERJOIN235
外联结——OUTERJOIN240
3张以上的表的联结243
交叉联结——CROSSJOIN246
联结的特定语法和过时语法249
练习题254
第8章 SQL高级处理255
8—1 窗口函数257
什么是窗口函数257
窗口函数的语法258
语法的基本使用方法——使用RANK函数258
无需指定PARTITIONBY261
专用窗口函数的种类262
窗口函数的适用范围263
作为窗口函数使用的聚合函数264
计算移动平均266
两个ORDERBY269
8—2 GROUPING运算符271
同时得到合计行271
ROLLUP——同时得出合计和小计272
GROUPING函数——让NULL更加容易分辨277
CUBE——用数据来搭积木279
GROUPINGSETS——取得期望的积木281
练习题282
第9章 通过应用程序连接数据库283
9—1 数据库世界和应用程序世界的连接285
数据库和应用程序之间的关系285
驱动——两个世界之间的桥梁286
驱动的种类287
9—2 Java基础知识289
第一个程序Hello,World289
编译和程序执行291
常见错误294
9—3 通过Java连接PostgreSQL298
执行SQL语句的Java程序298
Java是如何从数据库中获取数据的呢299
执行连接数据库的程序301
选取表中的数据302
更新表中的数据305
小结307
练习题307
附录 练习题答案308
内容摘要
本书是畅销书《SQL基础教程》第2版,介绍了关系数据库以及用来操作关系数据库的SQL语言的使用方法。书中通过丰富的图示、大量示例程序和详实的操作步骤说明,让读者循序渐进地掌握SQL的基础知识和使用技巧,切实提高编程能力。每章结尾设置有练习题,帮助读者检验对各章内容的理解程度。另外,本书还将重要知识点总结为“法则”,方便读者随时查阅。第2版除了将示例程序更新为对应最新的DB的SQL之外,还新增了一章,介绍如何从应用程序执行SQL。
— 没有更多了 —
以下为对购买帮助不大的评价