标题：SQL编程基础
图书信息
出版社: 机械工业出版社; 第3版 (2009年8月1日)
外文书名: SQL Fundamentals,Third Edition
丛书名: 开发人员专业技术丛书
平装: 491页
正文语种: 简体中文
开本: 16
ISBN: 9787111265412, 7111265416
条形码: 9787111265412
尺寸: 23.8 x 18.4 x 2 cm
重量: 739 g
作者简介
作者：(美国) 帕特里克 (Patrick.J.J.)  译者：刘红伟 董民辉
John J．Patrick，是关系数据库技术方面的计算机专家和软件开发者。他在美国加州大学伯克利分校讲授SQL基础和其他数据库课程，在Bank of America、Chevron、Kaiser Permanente等著名公司从事过20多年的软件开发工作。…
内容简介
《SQL编程基础(原书第3版)》根据John J．Patrick在美国加州大学伯克利分校讲授的SQL课程编写，详细介绍与SQL相关的概念和技术。书中的每一个概念都用了一个SQL范例进行说明。在大多数情况下都设置了一个任务，然后给出了完成这项任务的SQL代码。《SQL编程基础(原书第3版)》还展示了数据的原表和结果表。全书共有200多个例子。其中的每一部分都是独立的。读者可以依次阅读《SQL编程基础(原书第3版)》或者选择性地阅读需要的部分。
《SQL编程基础(原书第3版)》适合想要学习和掌握SQL的读者阅读，尤其适合高等院校计算机专业学生学习使用，也可供IT专业人员参考。
不要只学习“一般的”SQL，通过世界顶级的数据库平台(用于企业数据库的Oracle和用于桌面数据库的Microsoft Access)来学习SQL并获得成果。
《SQL编程基础(原书第3版)》根据John Patrick在美国加州大学伯克利分校讲授的SQL课程编写，精确地阐述了如何在需要的时候从任意应用中(从临时报表到数据仓库)检索数据。《SQL编程基础(原书第3版)》针对Oracle、Access和SQL标准的最新版本彻底更新，包含了比以前更多的练习、技术和解决方案。即便你之前从没有使用过数据库，也能够学会如何编写易于理解、验证，修改和扩展的SQL查询。
目录
译者序
前言
第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 Lemployees表的一些设计决策
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子句中使用isnull条件orderby子句
2.16 orderby子句概述
2.17 通过一列升序排列行
2.18 通过若干列升序排列行
2.19 根据若干列以各种顺序排序各行
2.20 整个过程
小结
第3章 where子句中的复合条件where子句中的复合条件
3.1 在where子句中使用复合条件
3.2 将not与in.between.like和isnull条件一起使用
3.3 where子句中复杂条件的标准形式
3.4 一个常见错误常数值
3.5 在select子句中使用常数值
3.6 使用常数表标点符号问题
3.7 现在需要知道的标点符号
3.8 标点符号参考区分大小写
3.9 Oracle中的区分大小写
3.10 关于SQL中区分大小写的争论
3.11 有一个选择
3.12 在OracleSQLCommandLine环境中关闭区分大小写
3.13 Access中区分大小写三值逻辑
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 使用OracleGUI来修改表中的数据
4.14 使用AccessGUI来修改表中的数据修改表中数据的限制
4.15 使用insert.update和delete的约束条件
4.16 安全限制
小结
第5章 数据字典和其他Oracle主题提交、回滚和事务
5.1 commit和rollback命令
5.2 Autocommit选项
5.3 事务通过视图修改数据
5.4 通过视图更改数据
5.5 通过视图更改数据的例子
5.6 使用WithCheckOption的视图Oracle中的SQLCommands页面
5.7 SQLCommands页面概览
5.8 Autocommit选项
5.9 Explain选项使用Oracle数据字典：第一部分
5.10 数据字典概述
5.11 如何查找所有表的名字
5.12 如何查找所有视图的名字
5.13 如何查找定义视图的select语句
5.14 如何查找表或者视图中的列名
5.15 如何查找表的主键
小结
第6章 创建自己的表创建表
6.1 createtable命令
6.2 Oracle和Access中的数据类型
6.3 文本数据类型
6.4 数字数据类型
6.5 日期/时间数据类型
6.6 其他数据类型
6.7 将数据放入新表中
6.8 在Oracle中创建Lemployees表更改表
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.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 如何找到所有数据库对象的相关信息
7.16 如何使用Oracle中的数据字典表
7.17 如何使用数据字典列的索引练习
7.18 创建一个想要庆祝的节日的表
小结
第8章 数据完整性表上的约束条件
8.1 约束条件使数据保持一致
8.2 check约束条件
8.3 unique约束条件
8.4 notnull约束条件
8.5 primarykey约束条件
8.6 对字段数据类型和长度的限制参照完整性
8.7 参照完整性的概念
8.8 参照完整性的示例
8.9 对RI保护的数据表使用insert和update
8.10 通过RI允许对数据表使用insert和update
8.11 RI防止对查找表使用update和delete
8.12 如何从查找表中删除编码
8.13 如何在查找表中更改编码
8.14 RI作为表之间的关系
8.15 在AccessGUI中建立RIRI的delete选项和update选项
8.16 删除和更新查找表的三个选项
8.17 删除规则：setnull
8.18 删除规则：cascade
8.19 更新规则：cascade验证参照完整性
8.20 主键的两种含义
8.21 使用两个或者更多的列作为主键
8.22 查找表和数据表可以是同一个表如何在createtable语句中编写约束条件
8.23 约束条件常常在createtable语句中编写
小结
第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 使用Oracle文档
10.6 使用Access文档
10.7 使用AccessExpressionBuilder查看行函数创建数字和日期模式
10.8 创建一个简单的数字模式
10.9 创建一个复杂的数字模式
10.10 列出一个星期的所有星期数
10.11 创建一个工作日日历
10.12 如何计算从出生到现在的天数
10.13 如何查找出生后满10000天的日期
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.2 groupby子句
12.3 由两个或更多列形成的组
12.4 有多个分组列时的null组
12.5 在同一条select语句中,已汇总的数据不能与没有汇总的数据混一起
12.6 解决方案1：将更多的列添加到groupby子句中
12.7 解决方案2：将查询划分为两条单独的select语句
12.8 如何创建有多个小计和一个总计的报表
12.9 零计数：第二部分
12.10 零计数：第三部分删除某些已汇总的数据
12.11 having子句
12.12 比较having子句与where子句
12.13 在一个表上使用select语句的全过程
12.14 having子句没有增加select语句的功能
12.15 使用where子句来删除原始数据
12.16 如何对一个列函数应用另一个列函数并且绕开其他限制
小结
第13章 内连接连接简介
第14章 外连接外连接简介
第15章 union和unionall union的基础知识
第16章 交叉连接和自连接交叉连接
第17章 在产品数据库中组合表连接三个或者更多表的方法
第18章 if then else 参数查询和子查询if then else逻辑
第19章 多用户环境数据库配置
第20章 SQL设计SQL的最初设计目标
附录A 获取和安装Oracle
附录B Oracle快速入门
附录C Access快速入门
附录D Lunches数据库的图