图书介绍
SQL查询的艺术PDF|Epub|txt|kindle电子书版本网盘下载
![SQL查询的艺术](https://www.shukui.net/cover/6/35080554.jpg)
- 张权,郭天娇著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115333407
- 出版时间:2014
- 标注页数:490页
- 文件大小:77MB
- 文件页数:511页
- 主题词:SQL语言
PDF下载
下载说明
SQL查询的艺术PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 数据库与SQL基础1
1.1 数据库的基本概念1
1.1.1 数据库的由来1
1.1.2 数据库系统的概念3
1.2 数据库系统的结构、组成及工作流程3
1.2.1 数据库的体系结构3
1.2.2 数据库系统的组成5
1.2.3 数据库的工作流程6
1.3 关系数据库8
1.3.1 关系模型8
1.3.2 Codd十二法则9
1.3.3 范式10
1.4 SQL语言基础11
1.4.1 SQL的历史12
1.4.2 SQL语言的组成12
1.4.3 SQL语句的结构14
1.4.4 SQL的优点15
1.4.5 SQL的执行15
1.5 SQL环境16
1.5.1 环境16
1.5.2 SQL的层次结构17
1.5.3 客户程序和服务程序系统19
1.5.4 SQL环境中对象的命名规则20
第2章 主要的关系数据库与SQL22
2.1 SQL Server22
2.1.1 SQL Server的结构22
2.1.2 数据库访问标准化接口——ODBC23
2.1.3 使用查询分析器执行SQL语句24
2.2 Transact-SQL25
2.2.1 Transact-SQL概述26
2.2.2 Transact-SQL的主要组成26
2.2.3 Transact-SQL的一些重要命令27
第3章 创建、修改和删除表32
3.1 表的基础知识32
3.1.1 表的基本结构32
3.1.2 表的种类33
3.2 SQL数据类型34
3.2.1 字符型数据34
3.2.2 数字型数据35
3.2.3 日期数据类型37
3.2.4 二进制数据类型39
3.2.5 文本和图形数据类型40
3.2.6 自定义数据类型41
3.3 表的创建(CREATE)42
3.3.1 创建基本表42
3.3.2 非空约束44
3.3.3 DEFAULT指定缺省值46
3.4 表的修改47
3.4.1 增加新列48
3.4.2 删除列49
3.4.3 修改列51
3.5 表的删除与重命名54
3.5.1 重命名表54
3.5.2 删除表55
3.6 创建、删除数据库55
3.6.1 数据库的创建55
3.6.2 SQL Server中数据库的创建56
3.6.3 删除数据库58
第4章 索引与视图的创建59
4.1 索引的基础知识59
4.1.1 索引的概念59
4.1.2 索引的结构59
4.2 索引的创建与销毁61
4.2.1 基本创建语法61
4.2.2 本章实例用到的实例表62
4.2.3 创建简单的非簇索引65
4.2.4 多字段非簇索引的创建69
4.2.5 使用UNIQUE关键字创建惟一索引70
4.2.6 使用CLUSTERDE关键字创建簇索引71
4.2.7 索引的销毁73
4.2.8 使用索引的几点原则74
4.3 视图的基础知识74
4.3.1 视图简介75
4.3.2 视图的优缺点75
4.4 视图的创建与销毁76
4.4.1 基本创建语法76
4.4.2 创建简单的视图77
4.4.3 利用视图简化表的复杂连接80
4.4.4 利用视图简化复杂查询81
4.4.5 视图的销毁84
4.4.6 使用视图的几点原则85
第5章 简单的查询86
5.1 查询的基本结构86
5.1.1 SELECT语句的结构86
5.1.2 SELECT语句的执行步骤87
5.2 列的查询88
5.2.1 本章用到的实例表88
5.2.2 单列查询89
5.2.3 使用DISTINCT去除重复信息90
5.2.4 多列查询91
5.2.5 查询所有的列92
5.3 排序查询结果93
5.3.1 单列排序93
5.3.2 多列排序95
5.3.3 采用序号进行多列排序95
5.3.4 反向排序96
5.4 使用WHERE子句定义搜索条件查询97
5.4.1 WHERE子句单条件查询98
5.4.2 单值比较运算符99
5.4.3 BETWEEN运算符范围筛选102
5.4.4 NULL值的判断103
第6章 复杂搜索条件查询105
6.1 本章用到的实例表105
6.2 组合查询条件106
6.2.1 AND运算符106
6.2.2 OR运算符108
6.2.3 AND、OR运算符的组合使用110
6.3 IN运算符111
6.3.1 IN运算符的使用方法111
6.3.2 IN运算符与OR运算符113
6.4 NOT运算符113
6.4.1 使用NOT运算符113
6.4.2 NOT运算符与<>运算符115
6.5 使用LIKE进行模糊查询116
6.5.1 LIKE运算符116
6.5.2 “%”通配符118
6.5.3 “_”通配符120
6.5.4 “[]”通配符122
6.5.5 使用ESCAPE定义转义符124
第7章 连接符、数值运算与函数125
7.1 本章实例用到的表125
7.2 连接符126
7.2.1 连接符的应用126
7.2.2 使用别名128
7.3 数值运算130
7.3.1 数学运算符的种类130
7.3.2 数学运算符的运用131
7.3.3 使用CAST表达式转换数据类型133
7.3.4 使用CASE表达式134
7.4 函数135
7.4.1 有关函数的说明136
7.4.2 字符处理函数136
7.4.3 算术运算函数142
7.4.4 日期时间函数144
7.4.5 CONVERT()函数转换日期、时间147
第8章 聚合分析与分组150
8.1 聚合分析的基本概念150
8.1.1 聚合分析150
8.1.2 聚合函数150
8.2 聚合函数的应用151
8.2.1 求和函数——SUM()151
8.2.2 计数函数——COUNT()152
8.2.3 最大/最小值函数——MAX()/MIN()155
8.2.4 均值函数——AVG()157
8.2.5 聚合分析的重值处理159
8.2.6 聚合函数的组合使用161
8.3 组合查询161
8.3.1 GROUP BY子句创建分组161
8.3.2 GROUP BY子句根据多列组合行163
8.3.3 ROLLUP运算符和CUBE运算符164
8.3.4 GROUP BY子句中的NULL值处理166
8.3.5 HAVING子句167
8.3.6 HAVING子句与WHERE子句167
8.3.7 SELECT语句各查询子句总结170
第9章 多表查询172
9.1 本章用到的实例表172
9.2 表的基本连接173
9.2.1 连接表的目的173
9.2.2 简单的二表连接174
9.2.3 多表连接176
9.2.4 使用表别名178
9.2.5 采用JOIN关键字建立连接179
9.3 表的连接类型179
9.3.1 自连接179
9.3.2 自然连接(NATURAL JOIN)182
9.3.3 内连接(INNER JOIN)184
9.3.4 外连接(OUTER JOIN)188
9.3.5 交叉连接(CROSS JOIN)193
9.4 UNION与UNION JOIN195
9.4.1 关系的集合运算195
9.4.2 UNION运算符196
9.4.3 ORDER BY子句排序UNION运算结果199
9.4.4 对多表进行UNION运算200
9.4.5 UNION JOIN连接表202
9.5 表连接的其他应用及注意问题203
9.5.1 连接表进行聚合运算203
9.5.2 多表连接的综合运用204
9.5.3 多表连接注意事项206
第10章 子查询207
10.1 创建和使用返回单值的子查询207
10.1.1 在多表查询中使用子查询207
10.1.2 在子查询中使用聚合函数208
10.2 创建和使用返回多行的子查询211
10.2.1 IN子查询211
10.2.2 IN子查询实现集合交和集合差运算212
10.2.3 EXISTS子查询213
10.2.4 EXISTS子查询实现两表交集216
10.2.5 SOME/ALL子查询217
10.2.6 UNIQUE子查询219
10.3 相关子查询221
10.3.1 使用IN引入相关子查询221
10.3.2 比较运算符引入相关子查询222
10.3.3 在HAVING子句中使用相关子查询224
10.4 嵌套子查询226
10.5 使用子查询创建视图227
10.6 树查询229
第11章 数据插入操作232
11.1 插入单行记录232
11.1.1 基本语法232
11.1.2 整行插入232
11.1.3 NULL值的插入235
11.1.4 唯一值的插入236
11.1.5 特定字段数据插入237
11.1.6 通过视图插入行238
11.2 插入多行记录241
11.2.1 由VALUES关键字引入多行数据插入241
11.2.2 使用SELECT语句插入值242
11.3 表中数据的复制246
11.3.1 基本语法246
11.3.2 应用实例247
11.4 从外部数据源导入、导出数据248
11.4.1 Access数据库数据的导出248
11.4.2 Access数据库数据的导入250
11.4.3 SQL Server数据库数据导出253
11.4.4 SQLServer数据库数据导入257
第12章 数据的更新和删除260
12.1 更新表中的数据260
12.1.1 UPDATE语句的基本语法260
12.1.2 UPDATE语句更新列值261
12.1.3 利用子查询更新多行的值264
12.1.4 依据外表值更新数据266
12.1.5 分步更新表267
12.2 删除表中的数据268
12.2.1 DELETE语句基本语法268
12.2.2 DELETE语句删除单行数据268
12.2.3 DELETE语句删除多行数据269
12.2.4 DELETE语句删除所有行270
12.2.5 TRUNCATE TABLE语句270
12.3 通过视图更新表271
12.3.1 可更新视图的约束272
12.3.2 通过视图更新表数据272
12.3.3 通过视图删除表数据274
第13章 安全性控制277
13.1 SQL安全模式277
13.1.1 授权ID277
13.1.2 SQL的安全对象和权限278
13.1.3 授权图280
13.2 角色管理280
13.2.1 CREATE语句创建角色280
13.2.2 DROP语句删除角色281
13.2.3 GRANT语句授予角色281
13.2.4 REVOKE语句取消角色282
13.3 权限管理283
13.3.1 GRANT语句授予权限283
13.3.2 REVOKE语句取消权限284
13.3.3 SELECT权限控制286
13.3.4 INSERT权限控制288
13.3.5 UPDATE权限控制289
13.3.6 DELETE权限控制290
13.4 SQL Server安全管理291
13.4.1 SQL Server登录认证291
13.4.2 SQL Server用户ID的管理292
13.4.3 SQL Server权限管理295
13.4.4 SQL Server角色管理298
13.5 Oracle安全管理301
13.5.1 Oracle中用户、资源、概要文件、模式的概念301
13.5.2 Oracle中的用户管理302
13.5.3 Oracle中的资源管理308
13.5.4 Oracle中的权限管理312
13.5.5 Oracle中的角色管理313
第14章 完整性控制315
14.1 完整性约束简介315
14.1.1 数据的完整性315
14.1.2 完整性约束的类型316
14.2 与表有关的约束316
14.2.1 列约束与表约束的创建316
14.2.2 NOTNULL(非空)约束317
14.2.3 UNIQUE(惟一)约束318
14.2.4 PRIMARY KEY(主键)约束320
14.2.5 FOREIGN KEY(外键)约束322
14.2.6 CHECK(校验)约束324
14.3 深入探讨外键与完整性检查326
14.3.1 引用完整性检查326
14.3.2 MATCH子句327
14.3.3 更新、删除操作规则329
14.4 域约束与断言332
14.4.1 域与域约束332
14.4.2 利用断言创建多表约束333
14.5 SQL Server中的完整性控制333
14.5.1 创建规则(Rule)333
14.5.2 规则的绑定与松绑335
14.5.3 创建缺省值(Default)337
14.5.4 缺省值的绑定与松绑338
第15章 存储过程与函数340
15.1 SQL中的存储过程与函数340
15.2 SQL Server中的流控制语句341
15.2.1 BEGIN...END语句341
15.2.2 IF...ELSE语句341
15.2.3 WHILE、BREAK和CONTINUE语句342
15.2.4 DECLARE语句343
15.2.5 GOTO label语句344
15.2.6 RETURN语句345
15.2.7 WAITFOR语句345
15.2.8 PRINT语句346
15.2.9 注释346
15.3 SQL Server中的存储过程和函数346
15.3.1 系统存储过程346
15.3.2 使用CREATE PROCEDURE创建存储过程347
15.3.3 使用EXECUTE语句调用存储过程349
15.3.4 使用CREATE FUNCTION创建函数350
15.3.5 使用Enterprise Manager(企业管理器)创建存储过程和函数354
15.3.6 修改和删除存储过程和函数357
15.4 Oracle中的流控制语句359
15.4.1 条件语句359
15.4.2 循环语句360
15.4.3 标号和GOTO362
15.5 Oracle数据库中的存储过程363
15.5.1 存储过程的创建与调用363
15.5.2 Oracle中存储过程和函数的管理364
第16章 SQL触发器366
16.1 触发器的基本概念366
16.1.1 触发器简介366
16.1.2 触发器执行环境366
16.2 SQL Server中的触发器367
16.2.1 SQL Server触发器的种类367
16.2.2 使用CREATETRIGGER命令创建触发器368
16.2.3 INSERT触发器370
16.2.4 DELETE触发器371
16.2.5 UPDATE触发器372
16.2.6 INSTEAD OF触发器374
16.2.7 嵌套触发器376
16.2.8 递归触发器379
16.2.9 SQL Server中触发器的管理382
16.3 Oracle数据库中触发器的操作384
16.3.1 Oracle触发器类型384
16.3.2 触发器的创建384
16.3.3 创建系统触发器386
16.3.4 触发器的触发次序和触发谓词的使用387
16.3.5 Oracle触发器的管理390
第17章 SQL中游标的使用393
17.1 SQL游标的基本概念393
17.1.1 游标的概念393
17.1.2 游标的作用及其应用394
17.2 SQL游标的使用395
17.2.1 使用DECLARE CURSOR语句创建游标395
17.2.2 使用OPEN/CLOSE语句打开/关闭游标397
17.2.3 使用FETCH语句检索数据397
17.2.4 基于游标的定位DELETE语句400
17.2.5 基于游标的定位UPDATE语句401
17.3 SQL Server中游标的扩展403
17.3.1 Transact SQL扩展DECLARE CURSOR语法403
17.3.2 @@CURSOR_ROWS全局变量确定游标的行数405
17.3.3 @@FETCH_STATUS全局变量检测FETCH操作的状态407
17.3.4 游标的关闭与释放408
17.3.5 游标变量409
17.3.6 使用系统过程管理游标410
17.4 Oracle中游标的使用412
17.4.1 显式游标与隐式游标412
17.4.2 游标的属性414
17.4.3 %TYPE、%ROWTYPE定义记录变量415
17.4.4 参数化游标416
17.4.5 游标中的循环417
17.4.6 游标变量419
17.5 小结421
第18章 事务控制与并发处理422
18.1 SQL事务控制422
18.1.1 事务控制的引入422
18.1.2 事务的特性423
18.1.3 SQL中与事务有关的语句423
18.2 事务控制的具体实现425
18.2.1 开始事务425
18.2.2 SET CONSTRAINTS语句设置约束的延期执行427
18.2.3 终止事务429
18.3 并发控制431
18.3.1 并发操作的问题431
18.3.2 事务隔离级别433
18.3.3 SET TRANSACTION设置事务属性434
18.4 SQL Server中的并发事务控制435
18.4.1 锁的分类435
18.4.2 SQL Server中表级锁的使用436
18.4.3 设置隔离级别实现并发控制439
18.4.4 死锁及其预防443
18.5 Oracle中的并发事务控制445
18.5.1 通过加锁避免写数据丢失446
18.5.2 设置只读事务(READ ONLY)447
18.5.3 Oracle中的隔离级别448
第19章 嵌入式SQL450
19.1 SQL的调用450
19.1.1 直接调用SQL450
19.1.2 嵌入式SQL451
19.1.3 SQL调用层接口(CLI)453
19.2 嵌入式SQL的使用455
19.2.1 创建嵌入式SQL语句455
19.2.2 SQL通信区456
19.2.3 主变量458
19.2.4 嵌入式SQL中使用游标461
19.3 检索、操作SQL数据463
19.3.1 不需要游标的SQL DML操作463
19.3.2 使用游标的SQL DML操作466
19.3.3 动态SQL技术469
19.4 SQL Server中嵌入式SQL的编译运行470
19.4.1 嵌入式SQL代码470
19.4.2 预编译文件473
19.4.3 设置Visual C++6.0连接474
19.4.4 编译运行程序477
19.5 Oracle中嵌入式SQL的编译运行477
19.5.1 嵌入式SQL代码477
19.5.2 预编译文件479
19.5.3 设置Visual C++6.0编译环境481
19.5.4 编译运行程序482
附录A SQL保留字484
附录B 常用的SQL命令488