Previous Next

SQL必知必会(第5版) (福达) (z-library.sk, 1lib.sk, z-lib.sk)

Author: 福达

SQL

SQL是使用最为广泛的数据库语言,几乎所有重要的DBMS都支持SQL.本书是麻省理工学院,伊利诺伊大学等众多大学的参考教材,由浅入深地讲解了SQL的基本概念和语法,涉及数据的排序,过滤和分组,以及表,视图,联结,子查询,游标,存储过程和触发器等内容.

📄 File Format: PDF
💾 File Size: 4.3 MB
9
Views
0
Downloads
0.00
Total Donations

📄 Text Preview (First 20 pages)

ℹ️

Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

📄 Page 1
(This page has no text content)
📄 Page 2
(This page has no text content)
📄 Page 3
图灵社区的电子书没有采用专有客户 端,您可以在任意设备上,用自己喜 欢的浏览器和PDF阅读器进行阅读。 但您购买的电子书仅供您个人使用, 未经授权,不得进行传播。 我们愿意相信读者具有这样的良知和 觉悟,与我们共同保护知识产权。 如果购买者有侵权行为,我们可能对 该用户实施包括但不限于关闭该帐号 等维权措施,并可能追究法律责任。
📄 Page 4
(This page has no text content)
📄 Page 5
内 容 提 要 SQL 是使用最广泛的数据库语言,绝大多数重要的 DBMS 支持 SQL。本书由 浅入深地讲解了 SQL 的基本概念和语法,涉及数据的排序、过滤和分组,以及表、 视图、联结、子查询、游标、存储过程和触发器等内容,实例丰富,便于查阅。新 版对书中的案例进行了全面的更新,并增加了章后挑战题,便于读者巩固所学知识。 本书适合 SQL 初学者,也可供广大开发及管理人员参考。 著    [美] 本 • 福达(Ben Forta) 译    钟 鸣 刘晓霞 责任编辑 傅志红 人民邮电出版社出版发行  北京市丰台区成寿寺路11号 邮编 100164  电子邮件 315@ptpress.com.cn 网址 https://www.ptpress.com.cn 北京      印刷 开本:880×1230 1/32 印张:8 字数:206千字 2020年 8 月第 2 版 印数:146 501 — 151 500册 2020年 8 月北京第 1 次印刷 著作权合同登记号 图字:01-2020-1754号 ◆ ◆ ◆ 定价:49.00元 读者服务热线:(010)51095183转600 印装质量热线:(010)81055316 反盗版热线:(010)81055315 广告经营许可证:京东市监广登字 20170147 号
📄 Page 6
引 言 | 1 版 权 声 明 Authorized translation from the English language edition, entitled Sams Teach Yourself SQL in 10 Minutes, 5th Edition, 978-0-13-5182796-6 by Ben Forta, published by Pearson Education, Inc., publishing as Sams. Copyright © 2020 by Pearson Education Inc. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from Pearson Education, Inc. Simplified Chinese-language edition copyright © 2020 by Posts & Telecom Press. All rights reserved. 本书中文简体字版由 Pearson Education Inc. 授权人民邮电出版社独 家出版。未经出版者书面许可,不得以任何方式复制或抄袭本书内容。 本书封面贴有 Pearson Education(培生教育出版集团)激光防伪标 签,无标签者不得销售。 版权所有,侵权必究。
📄 Page 7
2 | 引 言 致 谢 感谢 Sams 出版团队这些年来对我的支持、奉献和鼓励。过去 20 年来, 我们一起出版了 40 多本书,当然,这本小书一直是我最钟爱的,我要感 谢出版社给我极大的创作自由,在我觉得合适的时机和方向去发展出系 列作品。 感谢在亚马逊书店发表书评的人们,他们建议我每章后面加上习题,这 一版已经采纳。 感谢众多读者对本书前四版提供的反馈。幸好大多数意见都对我表示了 肯定,我感谢所有提出意见的人。作为回应,这一版做了相应的改进和 增补。欢迎大家对新版继续提出宝贵意见。 有好几十所学校将本书作为其 IT 和计算机科学课程的教材或参考书。能 如此得到教授和老师们的信任,对我是极大的鼓励,也让我诚惶诚恐。 最后,我要感谢购买了本书及系列书的近 50 万读者,你们使本书不仅成 为我自己最畅销的一部作品,而且也成为 SQL 方面最畅销的书。你们持 续的支持是作者能得到的最宝贵的奖赏。 ——Ben Forta 图灵社区会员 piecoo(13015560841) 专享 尊重版权
📄 Page 8
引 言 | 1 引 言 SQL 是使用最为广泛的数据库语言。不管你是应用开发者、数据库管理 员、Web 应用设计师、移动应用开发人员,还是只使用流行的报表工具 的普遍用户,掌握良好的 SQL 知识对用好数据库都是很重要的。 本书可以说是应需而生。我讲授了多年的 Web 应用开发,学生们经常要 求我推荐一些 SQL 图书。SQL 方面的书很多,有的其实很不错,但它们 都有一个共同的特点,就是讲授的内容太多了,多数人其实不需要了解 那么多。很多图书讲的不是 SQL 本身,而是从数据库设计、规范化到关 系数据库理论以及管理问题等,事无巨细都讲一通。当然,这些内容也 很重要,但大多数读者仅想学习 SQL,他们未必感兴趣。 因此,我找不到合适书籍推荐给学生,只好把在课堂上给学生讲授的 SQL 知识汇编成了本书。本书将讲授读者需要了解的 SQL 知识,从简单的数 据检索入手,逐步过渡到一些较为复杂的内容,如联结、子查询、存储 过程、游标、触发器以及表约束等。读者将从本书中循序渐进、系统而 直接地学到 SQL 的知识和技巧,每一课只需不足十分钟即可学完。 这已是本书的第 5 版,它已经教会了英语国家近 50 万的读者使用 SQL, 并且还翻译出版了十多种其他语言的版本。
📄 Page 9
2 | 引 言 这一版新增的内容是,从第 2 课到第 18 课每课后面增加了针对本课内容 的挑战题。读者有机会把本课刚学的 SQL 语句,应用到各种场景和问题 中去。书里没有挑战题的答案,但是别担心,你可以在配套的网站找到 答案:http://forta.com/books/0135182794。 现在轮到你了,让我们翻到第 1 课,开始学习吧。你将很快编写出世界 级的 SQL。 读者对象 本书适合以下读者:  SQL 新手;  希望快速学会并熟练使用 SQL;  希望知道如何使用 SQL 开发应用程序;  希望在无人帮助的情况下有效而快速地使用 SQL。 本书涵盖的 DBMS 一般来说,本书中所讲授的 SQL 可以应用到任何数据库管理系统 (DBMS)。但是,各种 SQL 实现不尽相同,本书介绍的 SQL 主要适用于 以下系统(需要时会给出特殊说明和注释):  IBM DB2(包括云上 DB2);  Microsoft SQL Server(包括 Microsoft SQL Server Express);  MariaDB;  MySQL;  Oracle(包括 Oracle Express);
📄 Page 10
引 言 | 3  PostgreSQL;  SQLite。 本书中的所有数据库示例(或者创建数据库示例的 SQL 脚本例子)对于 这些 DBMS 都是适用的,它们可以在本书的网页 http://forta.com/books/ 0135182794 上获得。 本书约定 本书采用等宽字体表示代码,读者输入的文本与应该出现在屏幕上的文 本也都以等宽字体给出。如: It will look like this to mimic the way text looks on your screen. 变量和表达式的占位符用斜体表示,你可以用具体的值代替它。 代码行前的箭头(➥)表示代码太长,上一行容纳不下。在➥符号后输 入的所有字符都应该是前一行的内容。 说明 给出上下文讨论中比较重要的信息。 提示 就某任务给出建议或更简单的方法。 注意 提醒可能出现的问题,避免出现事故。 新术语 清晰定义重要的新词汇。
📄 Page 11
4 | 引 言 输入▼ 读者可以自己输入的代码,通常紧挨着代码出现。 输出▼ 强调某个程序执行时的输出,通常出现在代码后。 分析▼ 对程序代码进行逐行分析。
📄 Page 12
目 录 | 1 目 录 第 1 课 了解 SQL ............................................................................................... 1 1.1 数据库基础 ...................................................................................... 1 1.2 什么是 SQL ...................................................................................... 6 1.3 动手实践 .......................................................................................... 7 1.4 小结 .................................................................................................. 9 第 2 课 检索数据 .............................................................................................. 10 2.1 SELECT 语句 .................................................................................. 10 2.2 检索单个列 .................................................................................... 11 2.3 检索多个列 .................................................................................... 13 2.4 检索所有列 .................................................................................... 14 2.5 检索不同的值 ................................................................................ 15 2.6 限制结果 ........................................................................................ 17 2.7 使用注释 ........................................................................................ 20 2.8 小结 ................................................................................................ 22 2.9 挑战题 ............................................................................................ 22 第 3 课 排序检索数据 ..................................................................................... 23 3.1 排序数据 ........................................................................................ 23 3.2 按多个列排序 ................................................................................ 25
📄 Page 13
2 | 目 录 3.3 按列位置排序 ................................................................................ 26 3.4 指定排序方向 ................................................................................ 27 3.5 小结 ................................................................................................ 30 3.6 挑战题 ............................................................................................ 30 第 4 课 过滤数据 ............................................................................................... 31 4.1 使用 WHERE 子句 ............................................................................ 31 4.2 WHERE 子句操作符 ......................................................................... 33 4.3 小结 ................................................................................................ 37 4.4 挑战题 ............................................................................................ 38 第 5 课 高级数据过滤 ..................................................................................... 39 5.1 组合 WHERE 子句 ............................................................................ 39 5.2 IN 操作符 ....................................................................................... 43 5.3 NOT 操作符 ..................................................................................... 45 5.4 小结 ................................................................................................ 47 5.5 挑战题 ............................................................................................ 47 第 6 课 用通配符进行过滤 ............................................................................ 49 6.1 LIKE 操作符 ................................................................................... 49 6.2 使用通配符的技巧 ......................................................................... 55 6.3 小结 ................................................................................................ 56 6.4 挑战题 ............................................................................................ 56 第 7 课 创建计算字段 ..................................................................................... 58 7.1 计算字段 ........................................................................................ 58 7.2 拼接字段 ........................................................................................ 59 7.3 执行算术计算 ................................................................................ 65 7.4 小结 ................................................................................................ 67 7.5 挑战题 ............................................................................................ 67
📄 Page 14
目 录 | 3 第 8 课 使用函数处理数据 ............................................................................ 68 8.1 函数 ................................................................................................ 68 8.2 使用函数 ........................................................................................ 69 8.3 小结 ................................................................................................ 77 8.4 挑战题 ............................................................................................ 77 第 9 课 汇总数据 .............................................................................................. 78 9.1 聚集函数 ........................................................................................ 78 9.2 聚集不同值 .................................................................................... 85 9.3 组合聚集函数 ................................................................................ 86 9.4 小结 ................................................................................................ 87 9.5 挑战题 ............................................................................................ 88 第 10 课 分组数据 ............................................................................................ 89 10.1 数据分组 .................................................................................... 89 10.2 创建分组 .................................................................................... 90 10.3 过滤分组 .................................................................................... 92 10.4 分组和排序 ................................................................................ 95 10.5 SELECT 子句顺序 ...................................................................... 97 10.6 小结............................................................................................ 97 10.7 挑战题 ........................................................................................ 98 第 11 课 使用子查询 ....................................................................................... 99 11.1 子查询 ........................................................................................ 99 11.2 利用子查询进行过滤 ................................................................ 99 11.3 作为计算字段使用子查询 ...................................................... 103 11.4 小结 .......................................................................................... 106 11.5 挑战题 ...................................................................................... 107 第 12 课 联结表 .............................................................................................. 108 12.1 联结.......................................................................................... 108 图灵社区会员 piecoo(13015560841) 专享 尊重版权
📄 Page 15
4 | 目 录 12.2 创建联结 .................................................................................. 111 12.3 小结 .......................................................................................... 118 12.4 挑战题 ...................................................................................... 118 第 13 课 创建高级联结 ................................................................................. 120 13.1 使用表别名 .............................................................................. 120 13.2 使用不同类型的联结 .............................................................. 121 13.3 使用带聚集函数的联结 .......................................................... 127 13.4 使用联结和联结条件 .............................................................. 129 13.5 小结 .......................................................................................... 129 13.6 挑战题 ...................................................................................... 129 第 14 课 组合查询 .......................................................................................... 131 14.1 组合查询 .................................................................................. 131 14.2 创建组合查询 .......................................................................... 132 14.3 小结 .......................................................................................... 138 14.4 挑战题 ...................................................................................... 139 第 15 课 插入数据 .......................................................................................... 140 15.1 数据插入 .................................................................................. 140 15.2 从一个表复制到另一个表 ...................................................... 147 15.3 小结 .......................................................................................... 148 15.4 挑战题 ...................................................................................... 149 第 16 课 更新和删除数据 ............................................................................ 150 16.1 更新数据 .................................................................................. 150 16.2 删除数据 .................................................................................. 152 16.3 更新和删除的指导原则 .......................................................... 154 16.4 小结 .......................................................................................... 155 16.5 挑战题 ...................................................................................... 156
📄 Page 16
目 录 | 5 第 17 课 创建和操纵表 ................................................................................. 157 17.1 创建表 ...................................................................................... 157 17.2 更新表 ...................................................................................... 162 17.3 删除表 ...................................................................................... 165 17.4 重命名表 .................................................................................. 165 17.5 小结.......................................................................................... 166 17.6 挑战题 ...................................................................................... 166 第 18 课 使用视图 .......................................................................................... 167 18.1 视图.......................................................................................... 167 18.2 创建视图 .................................................................................. 170 18.3 小结.......................................................................................... 177 18.4 挑战题 ...................................................................................... 177 第 19 课 使用存储过程 ................................................................................. 178 19.1 存储过程 .................................................................................. 178 19.2 为什么要使用存储过程 .......................................................... 179 19.3 执行存储过程 .......................................................................... 181 19.4 创建存储过程 .......................................................................... 182 19.5 小结.......................................................................................... 187 第 20 课 管理事务处理 ................................................................................. 188 20.1 事务处理 .................................................................................. 188 20.2 控制事务处理 .......................................................................... 190 20.3 小结.......................................................................................... 195 第 21 课 使用游标 .......................................................................................... 196 21.1 游标.......................................................................................... 196 21.2 使用游标 .................................................................................. 197 21.3 小结.......................................................................................... 202 图灵社区会员 piecoo(13015560841) 专享 尊重版权
📄 Page 17
6 | 目 录 第 22 课 高级 SQL 特性 ............................................................................... 203 22.1 约束 .......................................................................................... 203 22.2 索引 .......................................................................................... 210 22.3 触发器 ...................................................................................... 212 22.4 数据库安全 .............................................................................. 214 22.5 小结 .......................................................................................... 215 附录 A 样例表脚本 ......................................................................................... 216 附录 B SQL 语句的语法 .............................................................................. 223 附录 C SQL 数据类型 ................................................................................... 228 附录 D SQL 保留字 ....................................................................................... 234 常用 SQL 语句速查 ........................................................................................... 238 索 引 ............................................................................................................... 240 图灵社区会员 piecoo(13015560841) 专享 尊重版权
📄 Page 18
1.1 数据库基础 | 1 第 1 课 了解 SQL 这一课介绍 SQL 究竟是什么,它能做什么事情。 1.1 数据库基础 你正在读这本 SQL 图书,这表明你需要以某种方式与数据库打交道。SQL 正是用来实现这一任务的语言,因此在学习 SQL 之前,你应该对数据库 及数据库技术的某些基本概念有所了解。 你可能还没有意识到,其实自己一直在使用数据库。每当你在手机上选 取联系人,或从电子邮件地址簿里查找名字时,就是在使用数据库。你 在网站上进行搜索,也是在使用数据库。你在工作中登录网络,也需要 依靠数据库验证用户名和密码。即使是在自动取款机上使用 ATM 卡,也 要利用数据库进行密码验证和余额查询。 虽然我们一直都在使用数据库,但对究竟什么是数据库并不十分清楚。 更何况人们可能会使用同一个数据库术语表示不同的事物,进一步加剧了 这种混乱。因此,我们首先给出一些最重要的数据库术语,并加以说明。 提示:基本概念回顾 后面是一些基本数据库概念的简要介绍。如果你已经具有一定的数据 库经验,可以借此复习巩固一下;如果你刚开始接触数据库,可以
📄 Page 19
2 | 第 1 课 了解 SQL 由此了解必需的基本知识。理解数据库概念是掌握 SQL 的重要前提, 如果有必要,你或许还应该找本好书好好补一补数据库基础知识。 1.1.1 数据库 数据库这个术语的用法很多,但就本书而言(从 SQL 的角度来看),数 据库是以某种有组织的方式存储的数据集合。最简单的办法是将数据库 想象为一个文件柜。文件柜只是一个存放数据的物理位置,它不管数据 是什么,也不管数据是如何组织的。 数据库(database) 保存有组织的数据的容器(通常是一个文件或一组文件)。 注意:误用导致混淆 人们通常用数据库这个术语来代表他们使用的数据库软件,这是不正 确的,也因此产生了许多混淆。确切地说,数据库软件应称为数据库 管理系统(DBMS)。数据库是通过 DBMS 创建和操纵的容器,而具 体它究竟是什么,形式如何,各种数据库都不一样。 1.1.2 表 你往文件柜里放资料时,并不是随便将它们扔进某个抽屉就完事了的, 而是在文件柜中创建文件,然后将相关的资料放入特定的文件中。 在数据库领域中,这种文件称为表。表是一种结构化的文件,可用来存 储某种特定类型的数据。表可以保存顾客清单、产品目录,或者其他信 息清单。
📄 Page 20
1.1 数据库基础 | 3 表(table) 某种特定类型数据的结构化清单。 这里的关键一点在于,存储在表中的数据是同一种类型的数据或清单。 决不应该将顾客的清单与订单的清单存储在同一个数据库表中,否则以 后的检索和访问会很困难。应该创建两个表,每个清单一个表。 数据库中的每个表都有一个名字来标识自己。这个名字是唯一的,即数 据库中没有其他表具有相同的名字。 说明:表名 使表名成为唯一的,实际上是数据库名和表名等的组合。有的数据库 还使用数据库拥有者的名字作为唯一名的一部分。也就是说,虽然在 一个数据库中不能两次使用相同的表名,但在不同的数据库中完全可 以使用相同的表名。 表具有一些特性,这些特性定义了数据在表中如何存储,包括存储什么 样的数据,数据如何分解,各部分信息如何命名等信息。描述表的这组 信息就是所谓的模式(schema),模式可以用来描述数据库中特定的表, 也可以用来描述整个数据库(和其中表的关系)。 模式 关于数据库和表的布局及特性的信息。 1.1.3 列和数据类型 表由列组成。列存储表中某部分的信息。 列(column) 表中的一个字段。所有表都是由一个或多个列组成的。
The above is a preview of the first 20 pages. Register to read the complete e-book.

💝 Support Author

0.00
Total Amount (¥)
0
Donation Count

Login to support the author

Login Now

Recommended for You

Loading recommended books...
Failed to load, please try again later
Back to List