SQL基础教程

SQL基础教程

出版信息

MICK / 孙淼、罗勇 / 人民邮电出版社 / 2017-6-1 / CNY 79.00

内容简介

本书是畅销书《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等多种数据库的设计开发经验。乐于品味生活细微的点滴,热衷于品尝和制作美食。译有《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

本文地址:https://www.codercto.com/books/d/388.html

HTML 编码/解码

HTML 编码/解码

HTML 编码/解码

UNIX 时间戳转换

UNIX 时间戳转换

UNIX 时间戳转换