
| John J.Patrick是关系数据库技术方面的计算机专家和软件开发者。他在美国加州大学伯克利分校讲授SQL基础和其他数据库课程,在Bank of America、Chevron、Kaiser Permanente等著名公司从事过20多年的软件开发工作。... .. << 查看详细 |
| 译者序. 前言 第1章在表中存储信息 简介 1-1什么是sql 1-2什么是关系数据库?为什么要使用它 1-3为什么学习sql 1-4本书内容简介 表的组成部分 1-5数据存储于表中 1-6一行表示一个对象及其相关信息 1-7一列表示一类信息 1-8单元格是表的最小部分 1-9每个单元格应该只表示一样东西 1-10使用主键列标识每一个行 1-11大部分表都很“瘦长” 表的示例 1-12oracle和access中表的示例 1-13l_employees表的一些设计决策 1-14lunches数据库 .小结 第2章从表中获取信息 select语句 2-1目标:从表中获取几个列和行 2-2select语句概述 select子句 2-3select子句概述 2-4使用select子句获取若干列 2-5使用select子句获取所有的列 2-6使用select语句获取某个列中的不同值 2-7使用select子句获得几个列中的不同值 where子句 2-8where子句概览 2-9在where子句中使用等于条件 2-10在where子句中使用小于条件 2-11在where子句中使用不等于条件 2-12在where子句中使用in条件 2-13在where子句中使用between条件 2-14在where子句中使用like条件 2-15在where子句中使用is null条件 order by子句 2-16orderby子句概述 2-17通过一列升序排列行 2-18通过若干列升序排列行 2-19根据若干列以各种顺序排序各行 2-20整个过程 小结 第3章where子句中的复合条件 where子句中的复合条件 3-1在where子句中使用复合条件 3-2将not与in、between、like和is null条件一起使用 3-3where子句中复杂条件的标准形式 3-4一个常见错误 常数值 3-5在select子句中使用常数值 3-6使用常数表 标点符号问题 3-7现在需要知道的标点符号 3-8标点符号参考 区分大小写 3-9oracle中的区分大小写 3-10关于sql中区分大小写的争论 3-11有一个选择 3-12在oracle sql command line环境中关闭区分大小写 3-13access中区分大小写 三值逻辑 3-14使用三值逻辑的sql 错误消息 3-15错误消息常常是错的 练习 3-16练习1 3-17练习2 3-18练习3 小结 第4章保存结果 在新表或者视图中保存结果 4-1从select语句的结果中创建一个新表 4-2从select语句的结果创建一个新的视图 4-3表和视图的相似之处 4-4表和视图的不同之处 4-5删除表 4-6删除视图 4-7一个视图可以建立在另一个视图之上 4-8预防性删除 修改表中的数据 4-9添加新行到表中 4-10添加若干新行到一个表中 4-11更改已经存在于表的行中的数据 4-12从表中删除行 使用gui修改表中的数据 4-13使用oracle gui来修改表中的数据 4-14使用access gui来修改表中的数据 修改表中数据的限制 4-15使用insert、update和delete的约束条件 4-16安全限制 小结 第5章数据字典和其他oracle主题 提交、回滚和事务 5-1commit和rollback命令 5-2autocommit选项 5-3事务 通过视图修改数据 5-4通过视图更改数据 5-5通过视图更改数据的例子 5-6使用with check option的视图 oracle中的sql commands页面 5-7sql commands页面概览 5-8autocommit选项 5-9explain选项 使用oracle数据字典:第一部分 5-10数据字典概述 5-11如何查找所有表的名字 5-12如何查找所有视图的名字 5-13如何查找定义视图的select语句 5-14如何查找表或者视图中的列名 5-15如何查找表的主键 小结 第6章创建自己的表 创建表 6-1create table命令 6-2oracle和access中的数据类型 6-3文本数据类型 6-4数字数据类型 6-5日期/时间数据类型 6-6其他数据类型 6-7将数据放入新表中 6-8在oracle中创建l_employees表 更改表 6-9为表添加主键 6-10更改表的主键 6-11向表中添加一个新列 6-12扩展列的长度 6-13从表中删除一个列 6-14对表进行其他更改 带有重复行的表 6-15重复行的问题 6-16如何删除重复行 6-17如何区别重复行 小结 第7章格式、序列和索引 格式 7-1日期格式 7-2显示已经格式化的日期 7-3输入已格式化的日期 7-4oracle中的其他格式 7-5access中的格式 序列 7-6在oracle中创建序列 7-7在oracle中使用序列 7-8在access中使用序列 索引 7-9创建索引 7-10优化器 7-11索引如何工作的示例 在数据字典中查找更多的信息:第二部分 7-12如何查找有关列的数据类型的信息 7-13如何查找有关序列的信息 7-14如何找到有关索引的信息 7-15如何找到所有数据库对象的相关信息 7-16如何使用oracle中的数据字典表 7-17如何使用数据字典列的索引 练习 7-18创建一个想要庆祝的节日的表 小结 第8章数据完整性 表上的约束条件 8-1约束条件使数据保持一致 8-2check约束条件 8-3unique约束条件 8-4not null约束条件 8-5primary key约束条件 8-6对字段数据类型和长度的限制 参照完整性 8-7参照完整性的概念 8-8参照完整性的示例 8-9对ri保护的数据表使用insert和update 8-10通过ri允许对数据表使用insert和update 8-11ri防止对查找表使用update和delete 8-12如何从查找表中删除编码 8-13如何在查找表中更改编码 8-14ri作为表之间的关系 8-15在access gui中建立ri ri的delete选项和update选项 8-16删除和更新查找表的三个选项 8-17删除规则:set null 8-18删除规则:cascade 8-19更新规则:cascade 验证参照完整性 8-20主键的两种含义 8-21使用两个或者更多的列作为主键 8-22查找表和数据表可以是同一个表 如何在create table语句中编写约束条件 8-23约束条件常常在create table语句中编写 小结 第9章行函数 行函数简介 9-1直接从初始表中获得数据 9-2什么是行函数 9-3select子句中行函数的例子 9-4select语句的所有子句中使用行函数的例子 9-5定义行函数作为第一步 数字函数 9-6数字函数 9-7如何测试行函数 9-8测试数字行函数的另一种方法 文本函数 9-9文本函数 9-10组合名和姓.. 9-11分隔名和姓 9-12设计电话号码的格式 日期函数 9-13日期函数 9-14日期函数的一个例子 9-15从日期中删除时间 小结 第10章使用行函数 特殊行函数 10-1其他行函数 10-2使用函数识别用户和日期 10-3使用函数把null改为其他值 10-4使用函数更改数据类型 使用行函数的文档 10-5使用oracle文档 10-6使用access文档 10-7使用access expression builder查看行函数 创建数字和日期模式 10-8创建一个简单的数字模式 10-9创建一个复杂的数字模式 10-10列出一个星期的所有星期数 10-11创建一个工作日日历 10-12如何计算从出生到现在的天数 10-13如何查找出生后满10 000天的日期 10-14给oracle和access中的报表编行号 10-15可选内容:解代数方程的一种简单方法 小结 第11章汇总数据 列函数简介 11-1汇总一个列中的所有数据 11-2列函数列表 最大值和最小值 11-3找出最大值和最小值 11-4列函数和where子句一起使用 11-5找出拥有最大值和最小值的行 计数 11-6对行和数据计数 11-7零计数:第一部分 11-8对列中相异值计数 11-9计算两个或多个列中相异值的数目 求和与平均 11-10求和函数与平均函数 11-11加法存在的问题以及如何解决 其他主题 11-12并不总将null更改为零 11-13计算列中null的数目 11-14对相异值计数 小结 第12章控制汇总级别 将表划分为行的组并汇总每个组 12-1列中数据组的汇总 12-2group by子句 12-3由两个或更多列形成的组 12-4有多个分组列时的null组 12-5在同一条select语句中,已汇总的数据不能与没有汇总的数据混在一起 12-6解决方案1:将更多的列添加到group by子句中 12-7解决方案2:将查询划分为两条单独的select语句 12-8如何创建有多个小计和一个总计的报表 12-9零计数:第二部分 12-10零计数:第三部分 删除某些已汇总的数据 12-11having子句 12-12比较having子句与where子句 12-13在一个表上使用select语句的全过程 12-14having子句没有增加select语句的功能 12-15使用where子句来删除原始数据 12-16如何对一个列函数应用另一个列函数并且绕开其他限制 小结 第13章内连接 连接简介 13-1一个查询可以使用几个表中的数据 13-2最佳方法是一次连接两个表 两个表的内连接 13-3一对一关系 13-4多对一关系 13-5一对多关系 13-6多对多关系 13-7删除不匹配的行 13-8删除匹配列中带有null的行 13-9编写sql语句进行内连接的5种方式 连接条件的变体 13-10用两个或多个匹配列连接 13-11用between匹配一系列值的连接 13-12使用大于条件的连接 13-13用行函数进行连接 13-14在from子句中编写连接条件 连接应用 13-15查找表 13-16组合连接和数据的选取 13-17联合使用连接 13-18如何从数据字典中找出主键列 13-19用内连接组合三个或更多的表 小结 第14章外连接 外连接简介 14-1外连接派生于内连接 14-2外连接的3种类型 14-3左外连接 14-4右外连接 14-5全外连接 14-6union简介 14-7带有匹配列的两个表的union的例子 外连接的应用 14-8零计数:第四部分 14-9组合外连接与数据选取 14-10按排序顺序的全外连接 14-11找出模式中的缺陷 14-12用两列或多列进行比较 14-13比较两个不同的全外连接 14-14问题:左外连接和右外连接可能很难处理 小结 第15章union和union all union的基础知识 15-1union与连接之间的区别 15-2union和union all的区别 15-3union中的select语句 15-4union中的order by子句 15-5创建一个包含union的表或者视图 15-6union中的自动数据类型转换 非常规的union 15-7不同数据类型表的union 15-8不同列数的两个表的union union的应用 15-9确定两个表是否相同 15-10在union中使用直接量确定数据的来源 15-11给异常、警告和错误的标志附加消息 15-12将数据从一个列中分到两个不同的列中 15-13将两个函数应用到数据的不同部分 15-14三个表或更多表的union oracle中的交集和差集 15-15交集 15-16差集 小结 第16章交叉连接和自连接 交叉连接 16-1交叉连接的定义 16-2交叉连接重要的原因 16-3内连接源自交叉连接 16-4内连接的属性 16-5连接条件中的错误可以显示为一个交叉连接 16-6使用交叉连接列出所有可能的组合 16-7三维或多维时的其他布局 16-8避免对大型表使用交叉连接 自连接 16-9表为什么与自己连接 16-10自连接的例子 16-11处理事件序列 16-12生成从0到999的数字 access中的crosstab查询 16-13当有两维时的交叉表查询 16-14增加到四维的crosstab查询 16-15更多维的crosstab查询 16-16显示谁参加每次午餐的crosstab 16-17显示每次午餐的食物 oracle中的crosstab查询 16-18oracle中的crosstab查询——第一部分 16-19oracle中的crosstab查询——第二部分 小结 第17章在产品数据库中组合表 连接三个或者更多表的方法 17-1使用一系列步骤连接几个表 17-2在where子句中一次连接几个表 17-3在from子句中一次连接几个表 丢失信息 17-4小心使用内连接 17-5小心使用左外连接和右外连接 17-6全外连接保留了所有的信息 17-7几个表的全外连接 注意计算机的效率 17-8监视查询 17-9使用索引 17-10尽早在过程中选择想要的数据 17-11使用表保存总结数据 17-12使用几种方法编写sql 标准化连接表的方式 17-13连接是数据库设计的一部分 17-14视图可以标准化表的连接方式 17-15临时报表 小结 第18章if-then-else、参数查询和子查询 if-then-else逻辑 18-1oracle中的case函数和decode函数 18-2access中的immediate if (iif)函数 18-3给行附加消息 18-4将一个列的数据划分为两个不同的列 18-5对数据的不同部分应用两个函数 参数查询 18-6oracle中的参数查询 18-7oracle中多次使用参数 18-8在oracle中定义参数的更多方法 18-9access中的参数查询 18-10access中带有两个参数的查询 18-11access中的参数限制 子查询 18-12子查询简介 18-13产生一系列值的子查询 18-14产生一个值的子查询 18-15存在null值时避免使用not in 子查询的应用 18-16用于update命令中的子查询 18-17找出两个表之间的不同之处 18-18使用最新数据 子查询的原有特性 18-19相关子查询 18-20使用exists的子查询 18-21使用子查询编写外连接 18-22嵌套子查询 18-23子查询的使用限制 18-24许多子查询也可以写作连接 小结 第19章多用户环境 数据库配置 19-1单用户环境 19-2多用户环境 19-3分布式环境 19-4通过internet连接 多用户环境中的操作 19-5如何使用别人拥有的表 19-6代名 19-7快照 安全性和特权 19-8识别用户 19-9特权 19-10角色 19-11几个人同时使用相同的表 oracle数据字典和多用户环境 19-12all和user 19-13如何在数据字典中找到所需的表 19-14如何找到列的含义 小结 第20章sql设计 sql的最初设计目标 20-1做一件事并且做好它 20-2关注信息 20-3保持sql语言的简单性 20-4协调人们一起工作 新的界面 20-5窗体 20-6报表 20-7web工具 20-8更小的数据库 20-9oltp 20-10数据仓库 小结 附录a获取和安装oracle 附录boracle快速入门 附录caccess快速入门 附录dlunches数据库的图... |
商品评论(0条)