注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络数据库数据库设计/管理SQL基础

SQL基础

SQL基础

定 价:¥72.00

作 者: (美)John J.Patrick著;高京义,汤严等译;高京义译
出版社: 清华大学出版社
丛编项:
标 签: SQL语言

购买这本书可以去


ISBN: 9787302068938 出版时间: 2003-09-01 包装: 胶版纸
开本: 24cm 页数: 632 字数:  

内容简介

  本书根据JohnJ.Patrick在美国加州大学伯克利分校讲授的SQL课程编写,精确地阐述了在任意应用中(从临时报告到数据仓库)如何在需要的时候检索数据。不论是最简单的Select语句还是最复杂的连接运算,Patrick详细地讲解了如何编写易于理解、验证、修改和扩展的SQL查询。本书将教您:·编写简单的SQL语句用来检索、恢复或修改数据;·创建从多个表中获取信息的复杂查询;·建立自己的表;·总结数据:基本知识和高级技巧;·理解和保证数据的完整性;·学习掌握联合、子查询、自连接、交叉连接、内连接和外连接。要想获得本书中所有的SQL程序代码和数据库表、MicrosoftAccess格式的数据库以及相应Oracle数据库的代码,请访问www.tupwq.net,然后从本书的网页上下载。

作者简介

  JohnJ.Patrick是计算机关系数据库技术的咨询专家和软件开发者。他在美国加州大学伯克利分校讲授SQL基础和其他数据库课程,在美利坚银行、雪佛龙等著名公司从事过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-12 Oracle和Access中表的例子
1-13 1_employees表的一些设计决策
1-14 Lunches数据库
小结
第2章 从表中获取信息
select语句
2-1 目标:从表中获取几个列和行
2-2 select语句概述
select子句
2-3 select子句概述
2-4 使用select子句获取若干列
2-5 使用select子句获取所有的行
2-6 使用select语句获取某个列中的相异值
2-7 使用select子句获得几个列中的相异值
where子句
2-8 where子句概述
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-16 order by子句概述
2-17 通过升序排列行
2-18 通过若干按照不同顺序排列行
2-19 整个过程
小结
练习
第3章 where子句中的复合条件
where子句中的复合条件
3-1 在where子句中使用复合条件
3-2 将not与in、between、like和is null条件一起使用
3-3 where子句中复杂条件的标准形式
3-4 如何将复杂条件放入标准形式
3-5 规则1和规则3的例子
3-6 规则2的例子
3-7 规则4的例子
3-8 一个常见错误
常数值
3-9 select子句中使用常数值
3-10 使用常数表
标点符号
3-11 现在需要知识的标点符号
3-12 标点符号参考
3-13 区分大小写
例题
3-14 练习1 
3-15 练习2
3-16 练习3
小结
练习
第4章 保存结果
4-1 在新表或者视图中保存结果
4-2 从select语句的结果中创建一个新表
4-3 从select语句的结果中创建一个新的视图
4-4 表和视图的相似之处
4-5 表和视图的不同之处
4-6 删除表
4-7 删除视图
4-8 一个视图可以建立在另一个视图之上
4-9 预防性删除
4-10 commit和rollback
4-11 添加若干新行到包含select语句的表中
4-12 更改已经存在于表的行中的数据
4-13 从表中删除行
4-14 包含insert、update和delete的约束条件
4-15 autcommit
4-16 使用Access GUI环境更改表中的数据
小结
练习
第5章 通过视图修改数据
事务
5-1 事务的例子
通过视图修改数据
5-2 通过视图更改数据
5-3 通过视图理发数据的例子
5-4 使用With Check Option的视图
Oracle SQLplus
5-5 如何使用SQLplus设置列格式和标题
5-6 如何使用SQLplus查找表或者视图中的列表
5-7 如何使用假脱机文件
5-8 如何获得SQLplus的在线帮助
5-9 如何显示SQLplus的参数设置
5-10 关于SQLFUN_LOGIN脚本
5-11 Oracle SQLplus
查找关于表和视图的信息
5-12 数据字典概述
5-13 如何查找所有表的名字
5-14 如何查找所有视图的名字
5-15 如何查找定义视图的select语句
5-16 如何查找表或者视图中的列表
5-17 如何查找表的主键
小结
练习
第6章 创建自己的表
创建表
6-1 create table命令
6-2 Oracle和Access中的数据类型
6-3 时间的两种类型
6-4 将数据放在新的1_foods表中
6-5 在Oracle中创建1_employees表
更改表
6-6 向表添加主键
6-7 更改表的主键
6-8 垧表添加一个新列
6-9 扩展列的长度
6-10 从表中删除一个列
6-11 对表进行其他更改
包含重复行的表
6-12 重复行的问题
6-13 如何删除重复行
6-14 如何区别重复行
从文件中加载大量数据
6-15 Oracle中的SQL*Loader
6-16 加载在oracle中带分隔符的数据
6-17 Oracle中的analyze table
6-18 Access中的File Import
小结
习题
第7章 格式、序列和索引
格式 
7-1 日期格式
7-2 显示已经格式化的日期
7-3 输入已格式化的日期
7-4 Oracle中的其他格式
7-5 Access中的格式
序列
7-6 在Oracle中创建序列
7-7 在Oracle中使用序列
7-8 Access中的序列
索引
7-9 创建索引
7-10 优化器
7-11 索引如何工作的范例
在数据字典中查找更多的信息
7-12 如何查找有关列的数据类型的信息
7-13 如何查找有关序列的信息
7-14 如何查找有关索引的信息
7-15 如何在Oracle中查找有关所有数据库对象的信息
7-16 如何使用Oracle中的字典表
7-17 如何使用Oracle中的字典列的索引
练习
7-18 创建一个想要庆祝的节日的表
小结
练习
第8章 数据完整性
参照完整性 
8-1 参考完整性的概念
8-2 参照完整性的例子
8-3 对RI保护的数据表使用insert和update
8-4 通过RI允许对数据表使用insert和update
8-5 对RI保护的查找表使用update和delete
8-6 如何从查找表中删除编码
8-7 如何在查找表中更改编码
8-8 表之间关系的RI
8-9 在Access GUI中建立RI
RI的delete选项和update选项
8-10 删除和更改查找表的三个选项
8-11 删除规则:set null
8-12 删除规则:cascade
8-13 更新规则:cascade
参照完整性的变体
8-14 主键的两种含义
8-15 使用两个或者更多的列作为主键
8-16 查找表和数据表可以是同一个表
其他类型的约束条件
8-17 check约束条件
8-18 unique约束条件
8-19 not null约束条件
8-20 primary key约束条件
8-21 对字段数据类型和长度的限制
8-22 约束条件常通过create table语句实现
小结
练习
第9章 行函数
行函数介绍
9-1 直接从原表中获得数据
9-2 行函数的定义
9-3 select子句中行函数的例子
9-4 select语句的子句使用行函数的例子
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 在Access中使用表达式生成器
10-6 使用Oracle的文档
创建数字和日期模式
10-7 创建一个简单的数字模式
10-8 创建复杂的数字模式
10-9 解代数方程的一个简单方法
10-10 列出一个星期的所有星期数
10-11 创建一个工作日日历
10-12 如何计算机从出生到现在的天数
10-13 如何查找出生后满天10000天的日期
小结
练习
第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-2 group bu子句
12-3 由两个或更多列形成的组
12-4 有多个分组列时的null组
12-5 有同一个select语句,已总结的数据不能与没有总结的数据混在一起
12-6 解决方案1:将更多的列添加group by子句中
12-7 解决方案2:将查询分为两个单独的select语句
12-8 如何创建有多个小计和一个总计的报告
12-9 第2部分,零计数
12-10 第3部分,零计数
消除某些已总结的数据
12-11 having子句
12-12 比较having子句与where子句
12-13 在一个表中使用select语句的全过程
12-14 having子句没有增加select语句功能
12-15 使用where子句而不是having子句来删除原始数据
总结的约束条件
12-16 已分组总结的3个约束条件
12-17 如何应用约束条件1
12-18 如何应用约束条件2
12-19 如何应用约束条件3
小结
练习
第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-6 union简介
14-7 带有匹配列的两个表union的例子
外连接应用
14-8 零计数
14-9 组合外连接与数据选取
14-10 按排序顺序全外连接
14-11 找出模式中的缺陷
14-12 用两列或多列进行比较
14-13 比较两个不同的全外连接
小结
练习
第15章 Union和Union all
Union
15-1 Union与连接之间的区别
15-2 Union all
15-3 Union中的select语句
15-4 Union中的order by子句
15-5 创建一个包含Union的表或者视图
15-6 Union中的自动数据类型转换
非常规的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 生成从0~999的数字
16-11 对Oracle和Access报告的行编号
小结
练习
第18章 在生产数据库中合并表
连接三个或者更多表的方法
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-1 Oracle中的Decode函数
18-2 Access中的Immediate If(iif)函数
18-3 附加消息给行
18-4 将一个列的数据分解为两个不同的列
18-5 对数据的不同部分应用两个函数
参数查询
18-6 Oracle中的参数查询
18-7 Oracle中多次使用参数
18-8 Oracle中更多定义参数的方法
18-9 Access中的参数查询
18-10 Access中带有两个参数的查询
18-11 Access中的参数限制
子查询
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 一个人更改数据而另一个查看
19-12 两个人更改同一表中的不同行
19-13 两个人改变表中同一行
锁定
19-14 行锁定 
19-15 Rollback段
19-16 表锁定
19-17 锁定类型
19-18 Select for update命令
19-19 运行selcet语句时的稳定性
19-20 运行某个事务期间的稳定性
结论
数据字典和多用户环境
19-21 ALL和USER
19-22 如何在数据字典中找到所需的表
19-23 如何找到列的含义
如何创建一个共享的的应用程序
19-24 将Lunches数据库创建为共享应用程序
小结
第20章 SQL设计
SQL的最初设计目标
20-1 做一件事并且做好它
20-2 重点是信息
20-3 保持SQL语言的简单性
20-4 协调人们一起工作
新的界面
20-5 窗体
20-6 报告
20-7 Web工具
典型应用
20-8 更小的数据库
20-9 OLTP
20-10 数据仓库
小结
附录A 获取和安装Oracle
获取和安装Oracle
用户应该获取哪种产品
从Internet下载Oracle
注册向导
下载向导
订购Oracle光盘
安装Oracle
检测系统需求
安装过程
初始用户id和口令
安装运行本书中的例子
在C盘创建一个temp目录
使用用户id system登录到SQLplus中
验证Oracle是否正确运行
验证表空间的名称
建立新的用户id
登录新用户id
安装本书中用到的表
检查表是否正确加载
灾难恢复
如何创建表并指定其他的表空间名称
附录B 使用Oracle的技巧
启动Oracle
输入查询
另一种编辑SQL代码的方法
出发点
使用剪切并粘贴的方法
使用SQLplus行编辑器
错误消息有时候是正确的
使用滚动条
如果Oracle不响应
安装LOGIN脚本
运行一个章所有的SQL
附录C 使用Access的技巧
可以使用Access 2000或2002
启动Access
输入SQL查询
处理错误
打印
附录D Lunches数据库图表
连接条件
数据验证规则

本目录推荐