当前位置:主页 > 书籍配套资源 > SQL编程配套资源
《SQL编程基础(原书第3版)》示例代码

《SQL编程基础(原书第3版)》示例代码

  • 更新:2022-09-07
  • 大小:2.2 MB
  • 类别:SQL编程
  • 作者:John、J.、Patrick
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

SQL表示StructuredQueryLanguage,即结构化查询语言,它已经成为数据库应用的标准语言,因此,也是最重要的计算机语言之一。 对于计算机专业人士来说,SQL是必须掌握的语言之一,而对于想要高效率地使用商业数据库的一般读者来讲,掌握SQL可以在应用数据库的时候达到事半功倍的效果。

本书根据John Patrick在美国加州大学伯克利分校讲授的SQL课程编写,详细介绍与SQL相关的概念和技术。读者不需要任何数据库语言的应用经验,就可以通过本书详细的介绍和丰富的实例,熟练地掌握和使用SQL。

和其他的SQL相关图书相比,本书具有以下特色:

■ 不仅介绍基本概念,而且对每个概念都用了一个SQL范例进行说明。在大多数情况下都设置了一个任务,然后给出了完成这项任务的SQL代码。
■ 展示了数据的原表和结果表。这样,读者可以清晰地看到每一个SQL范例执行前后的变化,了解SQL语句的具体功能。
■ 提供Oracle SQL和Access SQL两个版本的代码。Oracle和Access分别是应用最广泛的企业级数据库和个人业务数据库。它们很好地覆盖了读者和用户的需求。
■ 每个小节的最后提出“检查理解”的练习,供读者实践本节学习到的知识,巩固对相关知识点的掌握。
■ 配套网站(http://groupsgooglecom/group/sqlfun)有丰富的辅助学习资源,包括创建数据库的代码(针对Oracle和Access的多个版本)、各章的范例代码、“检查理解”的解决方案、开放的学习讨论论坛。

封面图

目录

  • 译者序
  • 前言
  • 第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数据库的图
  • 〖=A(

资源下载

资源下载地址1:https://pan.baidu.com/s/1R0PMXWm5N2st-kziSP9jTw

相关资源

网友留言