数据库(第三章4)ppt
合集下载
《数据库系统概念》课件第三章.ppt
The schema for each relation. The domain of values associated with each attribute. Integrity constraints And as we will see later, also other information such as
The set of indices to be maintained for each relations. Security and authorization information for each relation. The physical storage structure of each relation on disk.
create table r (A1 D1, A2 D2, ..., An Dn, (integrity-constraint1), ..., (integrity-constraintk))
r is the name of the relation
each Ai is an attribute name in the schema of relation r Di is the data type of values in the domain of attribute Ai Example:
Database System Concepts - 6th Edition
3.3
©Silberschatz, Korth and Sudarshan
Data Definition Language
The SQL data-definition language (DDL) allows the specification of information about relations, including:
The set of indices to be maintained for each relations. Security and authorization information for each relation. The physical storage structure of each relation on disk.
create table r (A1 D1, A2 D2, ..., An Dn, (integrity-constraint1), ..., (integrity-constraintk))
r is the name of the relation
each Ai is an attribute name in the schema of relation r Di is the data type of values in the domain of attribute Ai Example:
Database System Concepts - 6th Edition
3.3
©Silberschatz, Korth and Sudarshan
Data Definition Language
The SQL data-definition language (DDL) allows the specification of information about relations, including:
《数据库应用》全套PPT电子课件教案-第三章(关系数据库标准语言SQL)
例:DROP TABLE 订购单 DROP TABLE直接从磁盘上删除<表名>所对应的数据
库文件。
16
第3章 关系数据库标准语言SQL
3.3 数据查询
SQL的核心是查询。SQL的查询命令也称作SELECT命令,它 的基本形式由SELECT-FROM-WHERE查询块组成,多个查 询块可以嵌套执行。SQL查询命令格式:
DISTINCT短语的作用是去掉查询结果中的重复值.
19
第3章 关系数据库标准语言SQL
SELECT * FROM 仓库 其中“*”是通配符,表示所有属性,即字段,这里的命令 等同于:
SELECT 仓库号,城市,面积 FROM 仓库 SELECT DISTINCT 仓库号 FROM 职工 WHERE 工资 > 1210
SQL语言是当前最为成功、应用最为广泛的关 系数据库语言,其主要特点包括:
1. SQL语言非常简洁 2. 综合统一 3. 高度非过程化 4. 面向集合的操作方式 5. 以同一种语法结构提供两种使用方式
4
第3章 关系数据库标准语言SQL
3.1.2 SQL语言功能概述
SQL功能可分为四大部分:数据定义功能、数据 控制功能、数据查询功能和数据操纵功能。
21
第3章 关系数据库标准语言SQL
匹配串中可包含如下四种通配符: _(下划线):匹配任意一个字符。 %(百分号):匹配0个或多个字符。 [ ]:匹配[ ]中的任意一个字符。如[abcd]表示匹配a、b、
c和d中的任何一个。 [^]:不匹配[ ]中的任意一个字符。如[abcd]表示不匹配
a、b、c和d。
SELECT 职工号,城市 FROM 仓库,职工 WHERE ( 面积 > 400) AND
库文件。
16
第3章 关系数据库标准语言SQL
3.3 数据查询
SQL的核心是查询。SQL的查询命令也称作SELECT命令,它 的基本形式由SELECT-FROM-WHERE查询块组成,多个查 询块可以嵌套执行。SQL查询命令格式:
DISTINCT短语的作用是去掉查询结果中的重复值.
19
第3章 关系数据库标准语言SQL
SELECT * FROM 仓库 其中“*”是通配符,表示所有属性,即字段,这里的命令 等同于:
SELECT 仓库号,城市,面积 FROM 仓库 SELECT DISTINCT 仓库号 FROM 职工 WHERE 工资 > 1210
SQL语言是当前最为成功、应用最为广泛的关 系数据库语言,其主要特点包括:
1. SQL语言非常简洁 2. 综合统一 3. 高度非过程化 4. 面向集合的操作方式 5. 以同一种语法结构提供两种使用方式
4
第3章 关系数据库标准语言SQL
3.1.2 SQL语言功能概述
SQL功能可分为四大部分:数据定义功能、数据 控制功能、数据查询功能和数据操纵功能。
21
第3章 关系数据库标准语言SQL
匹配串中可包含如下四种通配符: _(下划线):匹配任意一个字符。 %(百分号):匹配0个或多个字符。 [ ]:匹配[ ]中的任意一个字符。如[abcd]表示匹配a、b、
c和d中的任何一个。 [^]:不匹配[ ]中的任意一个字符。如[abcd]表示不匹配
a、b、c和d。
SELECT 职工号,城市 FROM 仓库,职工 WHERE ( 面积 > 400) AND
数据库技术培训教程(ppt 31页)
1.E-R图中每个实体,都相应转换为一个关系,并确定主关键 字;
2.对于E-R图中联系,联系方式不同,处理方法不同。
1:1联系:联系本身无属性,在任意方关系 中加入对方主键均可。
厂长(厂长号,厂号,姓名,年龄) 工厂(厂号,厂名,地点) 或:厂长(厂长号,姓名,年龄) 工厂(厂号,厂长号,厂名,地点)
据处理后将结果输出,最后数据和程序占据的内存空间被 一起释放。 只有程序文件的概念,数据的组织方式由程序自行设计和 安排。 问题:数据不保存、应用程序管理数据、数据不共享、数 据没有独立性。
应用程序 A 应用程序 B 应用程序 C
文件A 文件B 文件C
1.数据库发展史——发展阶段——文件系统阶段
2.数据——文件
文件:为了某一特定目的形成的同类记录的集合。 是数据库的基础:数据库太大,主存有限——某一特定时
间,只需要数据库的一小部分数据,为了某个特定应用目 的才会被程序存取。
1 数据库发展史
2 数据
3
数据库设计
数据库技术
3.数据库设计——设计步骤
需求分析 概念结构设计 逻辑结构设计 物理结构设计
• 数据完整性:实体完整性、参照完整性、 用户自定义完整性。
• 三范式:1971 codd 提出的。
3.数据库设计——物理结构设计
物理结构设计是为数据模型在设备上选定合适的存储结构 和存取方法,以获得数据库的最佳存取效率。
库文件的组织形式 存储介质的分配 存取路径的选择
文件管理阶段 50s中期到60s中期 当时条件:出现了磁盘、磁鼓等。操作系统提供了文件系
统管理数据,数据以文件方式存储,对数据操作就是对相 应文件操作。 优点:数据可以保存,以文件系统管理数据:数据不属于 某个特定程序,可以重复使用,即具有共享性:具有一定 的独立性,对程序的依赖减弱。 缺点:数据冗余大:独立性不好,编程不方便:不支持并发 访问。
2.对于E-R图中联系,联系方式不同,处理方法不同。
1:1联系:联系本身无属性,在任意方关系 中加入对方主键均可。
厂长(厂长号,厂号,姓名,年龄) 工厂(厂号,厂名,地点) 或:厂长(厂长号,姓名,年龄) 工厂(厂号,厂长号,厂名,地点)
据处理后将结果输出,最后数据和程序占据的内存空间被 一起释放。 只有程序文件的概念,数据的组织方式由程序自行设计和 安排。 问题:数据不保存、应用程序管理数据、数据不共享、数 据没有独立性。
应用程序 A 应用程序 B 应用程序 C
文件A 文件B 文件C
1.数据库发展史——发展阶段——文件系统阶段
2.数据——文件
文件:为了某一特定目的形成的同类记录的集合。 是数据库的基础:数据库太大,主存有限——某一特定时
间,只需要数据库的一小部分数据,为了某个特定应用目 的才会被程序存取。
1 数据库发展史
2 数据
3
数据库设计
数据库技术
3.数据库设计——设计步骤
需求分析 概念结构设计 逻辑结构设计 物理结构设计
• 数据完整性:实体完整性、参照完整性、 用户自定义完整性。
• 三范式:1971 codd 提出的。
3.数据库设计——物理结构设计
物理结构设计是为数据模型在设备上选定合适的存储结构 和存取方法,以获得数据库的最佳存取效率。
库文件的组织形式 存储介质的分配 存取路径的选择
文件管理阶段 50s中期到60s中期 当时条件:出现了磁盘、磁鼓等。操作系统提供了文件系
统管理数据,数据以文件方式存储,对数据操作就是对相 应文件操作。 优点:数据可以保存,以文件系统管理数据:数据不属于 某个特定程序,可以重复使用,即具有共享性:具有一定 的独立性,对程序的依赖减弱。 缺点:数据冗余大:独立性不好,编程不方便:不支持并发 访问。
《数据库原理及应用》教学课件 第三章SQL基础
数据库原理及应用
第三章 SQL基础
本章导读
结构化查询语言(Structured Query Language,SQL) 是关系数据库的标准语言,是集数据查询、数据操纵、数 据定义与数据控制于一体的综合性语言。在关系数据库 中,可以通过它完成数据库内的所有操作。本章首先介绍 SQL的发展及特点,然后通过实例介绍数据库和数据表的 基本操作。
④ MODIFY FILE:指定要修改的文 件。
⑤ ADD FILEGROUP:向数据库中 添加文件组。
⑥ REMOVE FILEGROUP:从数据 库中删除文件组。若文件组不为空,则 无法删除。
⑦ “[ , … N]”表示在前一语句后可 接N个同格式语句。
⑧ “|”表示用其隔开的语句在一次 命令中不可同时选用。
20
3.2 数据库基本操作
3.2.4 修改数据库
【例3-2】 将数据库 test 的名称改为 test1。 ALTER DATABASE test MODIFY NAME=test1
【例3-3】 将数据库SRS的日志文件最大容量改为100 MB。
ALTER DATABASE SRS MODIFY FILE (NAME=SRS_Data, MAXSIZE=100MB)
系列 1, 锐系普列PP2T, 锐, 2普.8 PPT, 2.8
日志文件由一系列日志记录组成,它 记录了数据库的更新情况和用户对数据库 的修改操作等。
当数据库发生损坏时,可以通过日志 文件分析出错原因;当数据丢失时,也可 以使用日志文件恢复数据库。
16
3.2 数据库基本操作
3.2.3 创建数据库
02 用SSMS创建数据库
在 SSMS 中可按如下步骤创建数据库。
第三章 SQL基础
本章导读
结构化查询语言(Structured Query Language,SQL) 是关系数据库的标准语言,是集数据查询、数据操纵、数 据定义与数据控制于一体的综合性语言。在关系数据库 中,可以通过它完成数据库内的所有操作。本章首先介绍 SQL的发展及特点,然后通过实例介绍数据库和数据表的 基本操作。
④ MODIFY FILE:指定要修改的文 件。
⑤ ADD FILEGROUP:向数据库中 添加文件组。
⑥ REMOVE FILEGROUP:从数据 库中删除文件组。若文件组不为空,则 无法删除。
⑦ “[ , … N]”表示在前一语句后可 接N个同格式语句。
⑧ “|”表示用其隔开的语句在一次 命令中不可同时选用。
20
3.2 数据库基本操作
3.2.4 修改数据库
【例3-2】 将数据库 test 的名称改为 test1。 ALTER DATABASE test MODIFY NAME=test1
【例3-3】 将数据库SRS的日志文件最大容量改为100 MB。
ALTER DATABASE SRS MODIFY FILE (NAME=SRS_Data, MAXSIZE=100MB)
系列 1, 锐系普列PP2T, 锐, 2普.8 PPT, 2.8
日志文件由一系列日志记录组成,它 记录了数据库的更新情况和用户对数据库 的修改操作等。
当数据库发生损坏时,可以通过日志 文件分析出错原因;当数据丢失时,也可 以使用日志文件恢复数据库。
16
3.2 数据库基本操作
3.2.3 创建数据库
02 用SSMS创建数据库
在 SSMS 中可按如下步骤创建数据库。
数据库课件
二、文件系统阶段
时期
50年代末--60年代中
产生的背景
应用需求 硬件水平 软件水平 处理方式 科学计算、管理 磁盘、磁鼓 有文件系统 联机实时处理、批处理
2014年10月21日星期 二
文件系统(续)
特点
• 数据以文件形式可长期保存在外部存储器的磁
盘上。 • 由文件系统来管理数据,提供存取方法进行转换, 使应用程序与数据之间有了一定的独立性。
2014年10月21日星期 二
课程的任务和作用
考虑到数据库技术的应用领域和当今世界的数据 库技术发展趋势,要求学生在学习本课程中应掌 握关系型数据库的基本理论和实现方法,了解有 关新技术的应用,并通过相关的实验内容和课程 设计环节使学生达到解决一定规模的实际问题的 能力,为继续学习计算机其他学科知识和今后的 工作打下坚实的基础。
2014年10月21日星期 二
中国人民大学 数据库系统概论精品课程教学网
站:/
高教出版社 立体化教材网:
2014年10月21日星期 二
上机软件
MS SQL Server 2005 上机参考: 相关ppt 《SQL Server 2005 数据库应用系统开发技 术实验指导及习题解答》 朱如龙主编 机械工业出版社
2014年10月21日星期 二
教材
《数据库系统概论》(第四版) 萨师煊,王 珊高等教育出版社,2006.5
2014年10月21日星期 二
参考书
An Introduction to Database Systems C.J.Date 机械工业出版社 《数据库系统原理》 王能斌等 电子工业出版社 《数据库原理教程》 范明、叶阳东等 科学出版社,2008 王珊 朱青《数据库系统概论学习指导 与习题解答》高等教育出版社 2003年8月
第三章-数据分类汇总分析PPT课件
16255 服装
32855
42009
10850
12522
食品 体育用品 艺术品 自行车
4
二. 获得各类销售额排行榜
利用分类汇总,企业可以获得销售额排行榜、各种商品质 量指标排行榜、销售人员完成销售任务排行榜、各种产品 库存量与库存积压资金排行榜……
120000
Northwind公司前十大客户销售额
时间序列可以帮助企业了解经营状况、预 测未来的变化趋势。
数据透视表能从不同的角度汇总数据,它 也是生成时间序列的有效工具。
37
四. 利用数据透视表生成时间序列
【例3-5】利用 数据透视表,对 Northwind公司 的销售数据按月 汇总各产品的销 售额。
分组:步长-同时 选中月、年
产品名称 (全部)
儿童用品 39686 524 2044 40255 24367
服装
16255
47196
食品
32855 472 2856 16404 19269
体育用品 10850 1080 5113 13970 3869
艺术品 42009 2893 4119 43932 24990
自行车 12522 746 4211 20383 24728
30
二.数据透视表的灵活性
分类字段的调整 分类字段值的调整 汇总字段的调整 数据透视表工具的功能
31
二.数据透视表的灵活性
分类字段的调整
利用报表筛选区域筛选数据:
将数据透视表字段列表中的字段直接拖至报表筛选 区域;
从行标签或列标签区域,拖动字段至报表筛选区域; 报表筛选区域,可以放置一个或多个字段; 可改变多个字段的排列位置; 可挑选一个值或多个值来进行筛选; 可将报表筛选区域的字段拖动到其他区域; 可删除“报表筛选”区域的字段。
数据库说课课件ppt
听取意见
知识理解
了解学生情况 调整下节任务
不断进步
找到自己不足 努力改正错误
取长补短
加强经验交流 提高教学质量
Q&A
谢谢大家!
10 >
知识目标 ➢理解数据库概念 ➢熟练编写SQL语言 ➢掌握各种查询操作
能力目标 ➢编写SQL语言能力 ➢数据库应用能力 ➢系统开发能力
素质目标 ➢培养学生自主学习能力 ➢分析、解决问题能力 ➢团队协作能力
知识体系主要环节 为后续知识做铺垫
确定依据
综合性较强 学生无基础
单表查询 合并查询
重点
重点 难点
难点
嵌套查询
3.重点难点
联系实际 加强练习
解决方法
阶梯设疑 分解整合
教法 学法
宏观:任务驱动;微观:问题牵引
主动学习 理解能力
提出 问题
布置任务 营造氛围
积极学习 分析能力
分析 问题
引入内容 启发学生
掌握知识 应用能力
解决 问题
讲授知识 任务演示
4.教法学法
举一反三 综合能力
总结 评价
学生反馈 定期测验
说课 内容
教材分析 教学目标 重点难点 教学方法 教学手段 教学程序 板书(课件)设计
课后反思
说课内容
信息管理专业 的专业技术课
数
据
库
Oracle
设 SQL Severe
计 数据库系统原理
能
access
力
内蒙古移动 公司数据库
课程 地位
本章 地位
第四章 标准查询语句
SQL
教材 选用
大纲 要求
《数据库原理应用教程》 俞俊浦
知识理解
了解学生情况 调整下节任务
不断进步
找到自己不足 努力改正错误
取长补短
加强经验交流 提高教学质量
Q&A
谢谢大家!
10 >
知识目标 ➢理解数据库概念 ➢熟练编写SQL语言 ➢掌握各种查询操作
能力目标 ➢编写SQL语言能力 ➢数据库应用能力 ➢系统开发能力
素质目标 ➢培养学生自主学习能力 ➢分析、解决问题能力 ➢团队协作能力
知识体系主要环节 为后续知识做铺垫
确定依据
综合性较强 学生无基础
单表查询 合并查询
重点
重点 难点
难点
嵌套查询
3.重点难点
联系实际 加强练习
解决方法
阶梯设疑 分解整合
教法 学法
宏观:任务驱动;微观:问题牵引
主动学习 理解能力
提出 问题
布置任务 营造氛围
积极学习 分析能力
分析 问题
引入内容 启发学生
掌握知识 应用能力
解决 问题
讲授知识 任务演示
4.教法学法
举一反三 综合能力
总结 评价
学生反馈 定期测验
说课 内容
教材分析 教学目标 重点难点 教学方法 教学手段 教学程序 板书(课件)设计
课后反思
说课内容
信息管理专业 的专业技术课
数
据
库
Oracle
设 SQL Severe
计 数据库系统原理
能
access
力
内蒙古移动 公司数据库
课程 地位
本章 地位
第四章 标准查询语句
SQL
教材 选用
大纲 要求
《数据库原理应用教程》 俞俊浦
数据库系统ppt课件(完整版)pptx
20世纪60年代后期出现了一种新 型的数据管理技术——数据库技 术,它解决了数据的组织、存储 和管理问题,实现了数据的共享
和高效处理。
数据库系统组成与结构
数据库系统组成
数据库系统由数据库、数据库管理系统 (DBMS)、应用系统和用户构成。
VS
数据库系统结构
数据库系统的结构可以分为三级模式结构 ,包括外模式、模式和内模式。其中,模 式是数据库中全体数据的逻辑结构和特征 的描述,是所有用户的公共数据视图;外 模式是模式的子集,是用户与数据库的接 口;内模式是数据物理结构和存储方式的 描述,是数据在数据库内部的表示方式。
用户自定义完整性
根据业务需求,设置自定义的约束条件,如 字段值范围、格式等。
级联操作
在更新或删除记录时,自动更新或删除相关 联的数据,保持数据一致性。
并发操作带来问题及解决方法
丢失更新
两个事务同时更新同一数据,后提交的事务会覆盖先提交 的事务的更新结果。解决方法包括使用锁机制、时间戳等 。
脏读
一个事务读取了另一个未提交事务的修改数据,可能导致 数据不一致。解决方法包括使用隔离级别、锁机制等。
考虑系统的性能、稳定性 、可扩展性和易用性
确保系统具有良好的技术 支持和社区资源
05
数据库安全、完整性与并发控制
数据库安全性保护措施
用户身份鉴别
通过用户名/密码、数字证书等方式 验证用户身份,防止非法用户访问。
访问控制
根据用户角色和权限,限制对数据库 对象的访问和操作,确保数据不被越 权访问。
数据加密
未来发展趋势预测和挑战应对
多模数据管理
未来数据库将支持多种数据模型的管理 和访问,以满足不同应用的需求。
文档存储数据库
和高效处理。
数据库系统组成与结构
数据库系统组成
数据库系统由数据库、数据库管理系统 (DBMS)、应用系统和用户构成。
VS
数据库系统结构
数据库系统的结构可以分为三级模式结构 ,包括外模式、模式和内模式。其中,模 式是数据库中全体数据的逻辑结构和特征 的描述,是所有用户的公共数据视图;外 模式是模式的子集,是用户与数据库的接 口;内模式是数据物理结构和存储方式的 描述,是数据在数据库内部的表示方式。
用户自定义完整性
根据业务需求,设置自定义的约束条件,如 字段值范围、格式等。
级联操作
在更新或删除记录时,自动更新或删除相关 联的数据,保持数据一致性。
并发操作带来问题及解决方法
丢失更新
两个事务同时更新同一数据,后提交的事务会覆盖先提交 的事务的更新结果。解决方法包括使用锁机制、时间戳等 。
脏读
一个事务读取了另一个未提交事务的修改数据,可能导致 数据不一致。解决方法包括使用隔离级别、锁机制等。
考虑系统的性能、稳定性 、可扩展性和易用性
确保系统具有良好的技术 支持和社区资源
05
数据库安全、完整性与并发控制
数据库安全性保护措施
用户身份鉴别
通过用户名/密码、数字证书等方式 验证用户身份,防止非法用户访问。
访问控制
根据用户角色和权限,限制对数据库 对象的访问和操作,确保数据不被越 权访问。
数据加密
未来发展趋势预测和挑战应对
多模数据管理
未来数据库将支持多种数据模型的管理 和访问,以满足不同应用的需求。
文档存储数据库
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
=
!=
<
<=
>
> MIN
>=
>= MIN
ANY IN -ALL --
< <= MAX MAX
NOT < <= IN MIN MIN
> >= MAX MAX
四、带EXIST谓词的相关子查询 上面介绍的子查询中,内层子查询都可 以单独执行,不涉及外层的元组。还有 一种嵌套查询,内层子查询依赖外层查 询的信息,即子查询的条件依赖于外查 询的某个属性值,这种查询称为相关子 查询。
1.
GROUP BY子句用于分组查询。其中 HAVING短语是对组的限制条件。 ORDER BY是对查询结果排序输出。注 意子查询不能带有ORDER BY子句.
2.
3. 两个SELECT命令的查询结果可以进行并
(UNION)、交(INTERSECT)和差 (MINUS)集合运算。
作业:P148 4, 5
3.3.3 嵌套查询
如果在一个SELCT语句的WHERE子句中 出现另一个SELECT语句,这种查询称为 嵌套查询 。WHERE子句中的SELECT语 句称为 子查询 或 查询块 。由于子查询还可 以在它的WHERE子句中再嵌入子查询, 因此子查询可以层层嵌入。对子查询嵌套 层次的多少,不同的系统有不同的要求。 在SQL Server中对子查询的嵌套层数没有 限制,可以有任意多层的子查询。
ANY和ALL与比较运算符构成的不同数量比 较谓词的含义为: >ANY 大于子查询结果中的某个值 >ALL 大于子查询结果中的所有值 <ANY 小于子查询结果中的某个值 <ALL 小于子查询结果中的所有值 >=ANY 大于等于子查询结果中的某个值 >=ALL 大于等于子查询结果中的所有值
<=ANY 小于等于子查询结果中的某个值 <=ALL 小于等于子查询结果中的所有值 =ANY 等于子查询结果中的某个值( IN ) =ALL 等于子查询结果中的所有值 (这种情况不可能) != ANY 不等于子查询结果中的某个值 != ALL 不等于子查询结果中的任何一个值 (相当于NOT IN)
例52 查其他系中比信息系某人年龄小的学 生姓名和年龄。 例53 查询其他系中比信息系所有学生年龄 都小的学生姓名和年龄。 例54 查询选C2课且成绩最高的学生的学 号和姓名。
例55 查询选C2课且成绩小于最高成绩的 学生的学号和姓名。 例56 查不选C2课的学生的学号。 通过上面的例子,我们可以看到ANY与 ALL与聚集函数和IN谓词在表达查询时 有等价关系。 ANY与ALL与聚集函数和IN的对应关系 如下表所示。
二、带有比较运算符的子查询
带有比较运算符的子查询指父查询与子查 询之间用比较运算符进行连接。当用户能 确切地知道内层子查询返回的是单值时, 可以用六个比较操作符:=,<,<=,>, >=,<>或!=。
例50 查询与“刘晨”在同一个系学习的学 生。
例51 查询年龄大于等于平均年龄的学生信息。
四、带ANY或ALL谓词的子查询 格式: <表达式> <>[| ANY | ALL](子查询) 子查询的结果可以是一个集合。
End
1. DISTINCT短语表示将重复值从结果表
中去掉,ALL表示保留重复值。 2. <目标列>可以是下列格式之一: (1)* (2)表名.* (3)聚集函数 (4)<表名>.<属性名> (5)表达式 3.FROM子句中的表名可以是基本表名或 视图名,因为视图也是表。 4.WHERE子句的条件表达式有以下可选 格式。
3.3.4 集合查询
SQL 语 言 支 持 传 统 的 集 合 操 作 : 并 (UNION)、交(INTERSECT)和差 (MINUS)操作。 两个或多个SELECT语句查询结果可以进 行并、交和差操作。但参加集合操作的 各查询块的结果表的列数必须相同,且 对应项的数据类型也必须相同。
例61查询选修C1或C2课的学生学号和姓 名。 例62查询至少选修了C1和C2课的的学生 学号。 例63 查询未选C1的学生姓名。
SQL语言中没有全称量词 ,但是,我 们可以把带全称量词的谓词转换为等价 的带有存在量词的谓词。 (x)p (x(p)) 不存在x使非p为真。 例59 查询选修了全部课程的学生姓名。
SQL中也没有蕴涵逻辑运算。但是,可 以利用谓词演算将一个逻辑蕴涵的谓词 等价转换为: pq p q
p T T F F
q T F F T
pq T F T T
p T T F F
q T F F T
p q T F T T
例60 查询至少选修了S1选修的全部课程 的学生学号。 p表示谓词“学生S1选修课程y”。 q表示谓词“学生x选修了课程y”。 “找这样的学生学号,对所有的课程y, 若S1选修了y,则x也选修了y”。 该查询可表示为: (y)(pq) (y)(pp) 即“不存在这样的课程y,学生S1选修 了y,而学生x没有选修课程y”。
NOT EXISTS谓词:如果子查询结果为 空(没有一个元组),则它返回true值; 如果子查询的结果非空,则它返回false 值。 例57 查所有选修了C1课的学生的姓名。
相关子查询的执行过程: 首先取外层查询中S表的第一行,根据它 的Sno的值来处理内层子查询,若使子查 询结果非空,WHERE子句为真,则取出 此元组的Sname放入结果表;然后再取S 表的下一个元组,重复上述过程,直到外 层查询的S表的所有行都被扫描过为止。 例58 查不选修C1课的学生的姓名。
相关子查询中常常使用两个存在量词: EXISTS和NOT EXISTS。格式为: [NOT] EXISTS(子查询)
EXISTS谓词不返回数据。如果子查询的 结果至少包含一个元组,则该EXITST谓 词 返 回 ture 值 ; 如 果 子 查 询 结 果 为 空 (没有一个元组),则返回false值。
<属性列名> <属性列名>
<常量> ANY | ALL(SELECT语句) <属性列名>[NOT]LIKE<字符串>
<属性列名> IS [NOT] NULL <属性列名> [NOT] IN (值1,值2,…) (SELECT语句)
<属性名> [NOT]BETWEEN <常量> AND <常量> [NOT] EXISTS (SELECT语句 ) <条件1>AND|OR <条件2>[AND|OR <条 件3>……]
一、带IN谓词的子查询
例46 查询与“刘晨”在同一个系学习的学生。
例47 查询选修了课程名为“IS”的学生学号 和姓名并按照学号排序。
例48 查询至少选修了C1和C2课的学生学号。
这类子查询称为不相关的嵌套查询。 其求解过程为: 由里向外处理。首先执行下层的子查询, 然后把子查询的结果用于建立外层查询的 查询条件,再执行外层查询。 例49 查没选修C2课程的学生学号和姓名。 例49‘ 查至少没选修C2和C4课程的学生学 号和姓名。
3.3.5 SELECT语句归纳
SELECT语句的一般格式: SELECT [ ALL | DISTINCT ] <目标列表达式表> FROM <表名1> [,<表名2>] [ WHERE <条件表达式>] [ GROUP BY <列名1>][HAVING<条件表达式>] ] [ ORDER BY <列名2>[ ASC | DESC ] ] [ UNION | INTERSECT | EXCEPT SELECT 。。。。。];