具体描述
编辑推荐
大部分的SQL书籍都试图成为SQL语法的百科全书,这是一种适得其反的方法,因为这些信息可以很容易地从主要的数据库供应商所发布的在线参考上获取。对于SQL初学者,书籍更重要的是关注通用的概念,并针对各种语句所能完成的任务给出清晰的解释和完备的示例。
这是一本针对SQL初学者的图书。本书有许多特色,使它有别于其他的SQL书籍。首先,当你阅读本书时,无需下载软件或者使用计算机。本书的目标是,让你直接阅读本书就能够理解所提供的SQL示例。其次,以直观和逻辑的顺序来组织主题。一次只介绍一个SQL关键字,当你遇到新的单词或概念时,它是建立在之前的学习基础之上的。本书介绍了3种广泛使用的数据库的语法,它们是:Microsoft SQL Server、MySQL和Oracle。专门的“数据库的差异。”板块则展示了3种数据库语法的不同之处。附录部分还介绍了如何下载和安装这些数据库的免费版本。要获取所需的SQL和关系数据库知识,有了本书就够了。
通过本书,你将学会:
使用SQL从关系数据库获取数据;
更新数据并创建新的表;
应用函数并计算数据;
使用电子表格,将数据转换为更有含义的显示;
以各种有用的方式来分组和汇总数据;
通过连接、子查询、视图和集合逻辑,从多个表获取数据;
使用复杂逻辑,仅仅获取你需要的数据;
创建、修改并执行存储过程;
设计关系数据库,以使得数据检索更为容易和直观;
安装Microsoft SQL Server、MySQL和Oracle。 内容简介
这是一本针对SQL初学者的图书。本书覆盖了所有核心的SQL语言概念,并且配以丰富的示例进行讲解。本书的目本书以直观和逻辑的顺序来组织主题,一次只介绍一个SQL关键字,新的单词或概念是建立在之前的理解的基础之上。本书介绍了3种广泛使用的数据库的语法,它们是:Microsoft SQL Server、MySQL和Oracle,专门的“数据库的差异”板块则展示了3种数据库语法的不同之处,还介绍了如何下载和安装这些数据库的免费版本。
本书适合SQL语言的初学者和初级的数据库管理员学习和参考,也可以作为高等院校相关专业的教学参考书。 作者简介
Larry Rockoff是一位技术架构师,提供各种技术的咨询服务,并发表过与这些技术相关的演讲。从1995年起,他就从事SQL管理和安全工作,并担任过SQLWorld 杂志的SQL Security编辑。他还编写了JavaScript Step by Step,Third Edition和MySQL Bible。 目录
第1章 关系型数据库和SQL 1
1.1 SQL是什么 2
1.2 Microsoft SQL Server、
MySQL和Oracle 3
1.3 关系型数据库 4
1.4 主键和外键 5
1.5 数据类型 6
1.6 空值 7
1.7 SQL的重要性 8
1.8 小结 8
第2章 基本数据检索 9
2.1 一条简单的SELECT语句 9
2.2 语法注释 10
2.3 注释 11
2.4 指定列 12
2.5 带有空格的列名 13
2.6 预览完整SELECT语句 14
2.7 小结 15
第3章 计算字段和别名 16
3.1 字面值 16
3.2 算术运算 18
3.3 连接字段 19
3.4 列的别名 20
3.5 表的别名 21
3.6 小结 22
第4章 使用函数 23
4.1 什么是函数 23
4.2 字符函数 24
4.3 复合函数 27
4.4 日期/时间函数 28
4.5 数值函数 30
4.6 转换函数 32
4.7 小结 34
第5章 排序数据 35
5.1 升序排序 35
5.2 降序排序 37
5.3 根据多列来排序 37
5.4 根据计算字段来排序 38
5.5 排序序列 39
5.6 小结 41
第6章 查询条件 42
6.1 应用查询条件 42
6.2 WHERE子句运算符 43
6.3 限制行 44
6.4 用Sort限制行数 45
6.5 模式匹配 47
6.6 通配符 49
6.7 小结 51
第7章 布尔逻辑 52
7.1 复杂的逻辑条件 52
7.2 AND运算符 53
7.3 OR运算符 53
7.4 使用圆括号 54
7.5 多组圆括号 55
7.6 NOT运算符 56
7.7 BETWEEN运算符 58
7.8 IN运算符 59
7.9 布尔逻辑和NULL值 61
7.10 小结 62
第8章 条件逻辑 63
8.1 CASE表达式 63
8.2 CASE简单格式 64
8.3 CASE查询格式 66
8.4 ORDER BY子句中的
条件逻辑 67
8.5 WHERE子句中的条件逻辑 68
8.6 小结 69
第9章 汇总数据 70
9.1 消除重复 70
9.2 聚合函数 71
9.3 COUNT函数 73
9.4 分组数据 74
9.5 多列和排序 75
9.6 基于聚合的查询条件 77
9.7 GROUP BY子句中的
条件逻辑 79
9.8 HAVING子句中的条件逻辑 80
9.9 排名函数 81
9.10 分区 85
9.11 小结 87
第10章 分类汇总和交叉表 89
10.1 使用ROLLUP增加分类
汇总 89
10.2 使用CUBE增加分类汇总 93
10.3 创建交叉表布局 97
10.4 小结 101
第11章 内连接 103
11.1 连接两个表 104
11.2 内连接 105
11.3 内连接中表的顺序 106
11.4 内连接的另一种规范 107
11.5 再谈表的别名 107
11.6 小结 109
第12章 外连接 110
12.1 外连接 110
12.2 左连接 112
12.3 判断NULL值 113
12.4 右连接 114
12.5 外连接中表的顺序 115
12.6 全连接 116
12.7 交叉连接 117
12.8 小结 119
第13章 自连接和视图 121
13.1 自连接 121
13.2 创建视图 123
13.3 引用视图 125
13.4 视图的优点 126
13.5 修改和删除视图 127
13.6 小结 128
第14章 子查询 129
14.1 子查询的类型 129
14.2 使用子查询作为数据源 130
14.3 在查询条件中使用子查询 133
14.4 关联子查询 134
14.5 EXISTS运算符 135
14.6 使用子查询作为一个计算
的列 136
14.7 公用表表达式 138
14.8 小结 139
第15章 集合逻辑 140
15.1 使用UNION运算符 140
15.2 UNION和UNION ALL 142
15.3 交叉查询 144
15.4 小结 145
第16章 存储过程和参数 147
16.1 创建存储过程 148
16.2 存储过程中的参数 149
16.3 执行存储过程 151
16.4 修改和删除存储过程 151
16.5 再谈函数 152
16.6 小结 153
第17章 修改数据 154
17.1 修改策略 154
17.2 插入数据 155
17.3 删除数据 158
17.4 更新数据 159
17.5 相关子查询的更新 160
17.6 小结 161
第18章 维护表 162
18.1 数据定义语言 162
18.2 表属性 163
18.3 表的列 163
18.4 主键和索引 164
18.5 外键 165
18.6 创建表 166
18.7 创建索引 167
18.8 小结 168
第19章 数据库设计原理 169
19.1 规范化的目的 169
19.2 如何规范化数据 171
19.3 数据库设计的艺术 174
19.4 规范化的替代方法 174
19.5 小结 176
第20章 显示数据的策略 177
20.1 重温交叉表布局 177
20.2 Excel和外部数据 178
20.3 Excel透视表 181
20.4 小结 185
附录A 初识Microsoft SQL Server 187
附录B 初识MySQL 189
附录C 初识Oracle 192
SQL初学者指南(第2版):开启数据探索之旅 在这个信息爆炸的时代,数据已成为各行各业的核心驱动力。无论是市场分析、科学研究,还是日常的网站运营,对数据的理解和运用都至关重要。而SQL(Structured Query Language),作为一种强大且通用的数据库查询语言,正是连接你与海量数据世界的桥梁。 《SQL初学者指南(第2版)》并非仅仅是一本枯燥的技术手册,它更像是您踏上数据探索之旅的引路人,为您揭开数据库的神秘面纱,让您自信地驾驭数据,从中挖掘有价值的洞察。本书致力于为零基础的读者量身打造一套清晰、系统、且极具实操性的学习路径,让您在轻松愉快的氛围中掌握SQL的核心技能,为未来的数据分析和开发生涯打下坚实基础。 为何选择《SQL初学者指南(第2版)》? 我们深知初学者在接触新技术时可能面临的困惑与挑战。市面上充斥着各种技术书籍,但很多往往过于理论化,或者跳跃性太强,让新手望而却步。本书的编写宗旨在于“化繁为简,循序渐进”,确保每一个概念都能被清晰地阐释,每一个操作都能被细致地演示。 本书的独特价值体现在以下几个方面: 场景驱动的学习体验: 我们摒弃了纯粹的概念堆砌,而是将SQL的各项功能置于真实的业务场景中进行讲解。例如,在学习数据筛选时,我们会模拟一个在线零售商的场景,教你如何根据顾客的购买记录、地区或消费金额来找出特定的用户群体;在学习数据聚合时,我们会以一家公司的人力资源部门为例,演示如何计算不同部门的平均薪资、员工数量等。通过这些贴近实际的例子,你将深刻理解SQL的实用价值,并能举一反三,将其应用于自己的工作或学习中。 丰富的实操练习与案例: 理论的学习离不开实践的检验。《SQL初学者指南(第2版)》提供了大量的练习题和精心设计的案例研究。每个章节都配有相应的练习,帮助你巩固所学知识。我们还构建了一个虚拟的数据库环境,让你能够亲手操作,感受SQL命令的强大威力。通过反复的实践,你的SQL编码能力将得到显著提升。 由浅入深的知识体系: 本书遵循由易到难的原则,从最基础的数据库概念和SQL语法入手,逐步引导你掌握更复杂的查询技巧。你将从理解“表”、“字段”、“行”等基本术语开始,然后学习如何查询数据、如何过滤、排序、分组,直至掌握连接多个表、使用子查询、窗口函数等高级特性。每一个新的概念都会建立在前一个概念的基础上,确保学习过程的连贯性和完整性。 对常见问题的深入剖析: 在学习SQL的过程中,你可能会遇到各种各样的问题,例如性能优化、数据类型选择、错误信息解读等。《SQL初学者指南(第2版)》预见到这些挑战,并提供了详尽的解答和建议。我们不仅教你“怎么做”,更教你“为什么这样做”,帮助你建立起扎实的问题解决能力。 现代SQL特性的融入: 作为“第2版”,本书不仅涵盖了SQL的经典核心内容,更紧跟技术发展的步伐,引入了SQL领域最新的、广泛应用的特性。这些现代SQL特性能够极大地提升数据处理的效率和灵活性,让你掌握更具竞争力的技能。 本书将带你领略的精彩数据世界: 第一部分:数据世界的基石——数据库与SQL入门 在本部分,我们将为你构建坚实的基础。你将了解: 什么是数据库? 探寻数据是如何被组织和存储的,以及数据库在现代IT架构中的关键作用。 为何学习SQL? 理解SQL的通用性、强大功能及其在各种数据相关职业中的不可或缺性。 SQL的“三大家族”: 简要介绍DDL(数据定义语言)、DML(数据操纵语言)和DCL(数据控制语言)的功能,让你对SQL的整体框架有一个初步的认识。 选择你的SQL工具: 了解不同的数据库管理系统(如MySQL, PostgreSQL, SQL Server, Oracle等)及其特点,并指导你如何选择并安装适合初学者的开发环境。 第一个SQL查询: 迈出实践的第一步,学习如何编写最基础的`SELECT`语句,从数据库中检索出你想要的数据,并了解`FROM`子句的用途。 第二部分:数据查询的艺术——基础查询技巧 这是本书的核心部分,你将在此掌握SQL最常用、最基础的数据查询能力: 精准的数据筛选: 学习使用`WHERE`子句,并掌握各种条件运算符(如`=`, `!=`, `>`, `<`, `>=`, `<=`, `IN`, `BETWEEN`, `LIKE`, `IS NULL`)来精确地找出符合你要求的数据行。 数据的排序与限制: 掌握`ORDER BY`子句,学会如何按照升序或降序对查询结果进行排序,并通过`LIMIT`(或等效命令)来控制返回结果的数量,让你能快速获取所需的数据片段。 多条件组合查询: 学习使用`AND`, `OR`, `NOT`等逻辑运算符,构建复杂的查询条件,实现更加精细化的数据筛选。 字符串匹配的利器——`LIKE`操作符: 深入理解`LIKE`操作符及其通配符(`%`和`_`),让你能够进行灵活的模糊查询。 处理缺失值——`IS NULL`和`IS NOT NULL`: 掌握如何识别和处理数据库中的NULL值,确保数据分析的准确性。 数据去重——`DISTINCT`关键字: 学习如何使用`DISTINCT`来去除查询结果中的重复项,获取唯一的列表。 第三部分:数据洞察的深化——聚合、分组与连接 当基础查询不足以满足需求时,你将需要更高级的工具来深入分析数据: 强大的数据聚合函数: 学习`COUNT()`, `SUM()`, `AVG()`, `MIN()`, `MAX()`等聚合函数,能够快速计算数据的汇总信息,如总和、平均值、最大值、最小值等。 分组分析的利器——`GROUP BY`子句: 掌握`GROUP BY`子句,学会如何根据一个或多个列将数据分组,并对每个组应用聚合函数,从而进行有意义的统计分析,例如计算每个部门的平均工资。 筛选分组后的数据——`HAVING`子句: 理解`HAVING`子句与`WHERE`子句的区别,学会如何对分组后的结果进行条件筛选,如找出平均薪资高于某个阈值的部门。 多表联合查询——`JOIN`系列: 这是SQL中最重要也是最强大的功能之一。你将系统学习`INNER JOIN`, `LEFT JOIN`, `RIGHT JOIN`, `FULL OUTER JOIN`等不同类型的连接,学会如何将来自不同表的数据高效地结合起来,构建出更全面的数据视图。我们会通过丰富的实例,演示如何在订单表和用户表之间进行连接,找出特定用户的购买记录。 `UNION`与`UNION ALL`: 学习如何合并来自不同查询的查询结果集,并理解它们之间的区别,用于整合相似结构的数据。 第四部分:数据管理与优化——数据的插入、更新与删除 除了查询数据,你还需要了解如何管理数据库中的数据: 插入新数据——`INSERT INTO`语句: 学习如何向表中添加新的记录。 修改现有数据——`UPDATE`语句: 掌握如何更新表中的现有记录,并了解如何使用`WHERE`子句来精确指定要修改的行。 删除不再需要的数据——`DELETE`语句: 学习如何从表中删除记录,并理解`WHERE`子句在删除操作中的重要性,以防止意外删除。 表结构的管理——`CREATE TABLE`, `ALTER TABLE`, `DROP TABLE`: 了解如何创建新的表、修改现有表的结构(如添加/删除列)以及删除不再需要的表。 数据类型的重要性: 深入理解不同的数据类型(如整数、浮点数、字符串、日期等)及其在数据存储和查询中的作用,以及如何选择合适的数据类型以优化性能和数据完整性。 性能初探: 简要介绍SQL查询性能的基本概念,以及一些简单的优化技巧,帮助你写出更高效的SQL语句。 第五部分:进阶之路——掌握更多SQL实用技巧 在打好坚实的基础后,本书将为你揭示更多SQL的强大之处: 子查询(Subqueries): 学习如何将一个查询嵌套在另一个查询中,以解决更复杂的数据提取和分析问题。 窗口函数(Window Functions): 这是一个非常强大的现代SQL特性,你将学习如何使用它们来执行比传统聚合函数更高级的计算,例如计算排名、累积总和、移动平均等,而无需对数据进行分组。 视图(Views): 学习如何创建和使用视图,将复杂的查询封装起来,简化日常的数据访问。 索引(Indexes): 理解索引的工作原理及其对查询性能的巨大影响,并学习如何创建和管理索引。 事务(Transactions): 了解数据库事务的概念,以及`COMMIT`和`ROLLBACK`语句,确保数据操作的原子性、一致性、隔离性和持久性(ACID)。 常用的SQL函数: 介绍各种内置函数,如字符串函数、数学函数、日期函数等,以及它们在数据处理中的应用。 适合读者: 对数据分析、数据科学感兴趣的学生和从业者。 需要处理和管理数据的IT专业人士(如开发人员、系统管理员)。 希望提升工作效率,从数据中获取洞察的业务人员(如市场营销、运营、财务人员)。 任何对数据库和SQL有好奇心,想要掌握一项核心数据技能的读者。 《SQL初学者指南(第2版)》将是你开启数据之旅最明智的选择。我们相信,通过本书的学习,你不仅能掌握SQL的精髓,更能培养出独立解决数据问题的能力,为你在日益重要的数据驱动世界中脱颖而出奠定坚实的基础。现在,就让我们一起,用SQL的力量,解锁数据的无限可能!