Microsoft Word - 正文.doc

Size: px
Start display at page:

Download "Microsoft Word - 正文.doc"

Transcription

1 第 4 章结构化查询语言 SQL 知识结构图 SQL 概述 SQL 查询功能 ( 重点 ) SQL 操作功能 SQL 定义功能 SQL: 结构化查询语言 SQL 语言的主要特点 SQL 功能基本查询排序查询计算与分组查询带特殊运算符的条件查询嵌套查询超连接查询查询中的几个特殊选项别名与自连接查询插入操作更新操作删除操作表的定义表的删除表结构的修改视图的定义 SQL(Structured Query Language) 是结构化查询语言 查询 是 SQL 语言的重要组成部分, 但不是全部内容,SQL 语言还包含数据定义 数据操作 数据控制功能 SQL 是由美国国家标准协会 (American National Standards Institute,ANSI) 于 1986 年 10 月公布的, 随后 SQL 就被当作关系数据库的工业标准语言 1987 年, 这个标准被国际标准化组织 (International Standards Organization,ISO) 批准为国际标准, 并在此基础上进行了补充 SQL 语言成为国际标准后, 各数据库公司纷纷推出了自己符合 SQL 标准的数据库管理系统 (DBMS), 如 Oracle Microsoft SQL Server Informix Sybase 等 SQL 标准可使不同关系数据库之间实现一致性和可移植性 Visual FoxPro 作为一种可视化的关系数据语言, 也使用 SQL 语言作为数据库定义 数据操作和数据检索的工具 SQL 语言的主要特点如下 : (1)SQL 是一种一体化的语言 它包括了数据定义 数据查询 数据操作和数据控制等方面的功能, 它可以完成数据库活动中的全部工作 以前的非关系模型是数据语言, 一般包括存储模式描述语言 概念模式描述语言 外部模式描述语言等, 这种模型的数据语言, 一是内容多, 二是掌握和使用起来不像 SQL 那样简单 实用

2 第 4 章结构化查询语言 SQL 119 (2)SQL 语言是一种高度非过程化的语言 它没有必要一步步地告诉计算机 如何 去做, 而只需要描述清楚用户要 做什么,SQL 语言可将要求交给系统, 自动完成全部工作 (3)SQL 语言非常简洁 虽然 SQL 语言功能很强, 但它只有为数不多的几条命令, 分别用于完成数据定义 数据操作和数据查询等功能, 如表 4-1 所示 另外,SQL 的语法也非常简单, 它很接近英语自然语言, 因此容易学习 掌握 表 4-1 SQL 语言的 9 个命令动词 SQL 功能 命令动词 数据查询数据操作数据定义数据控制 插入记录更新记录删除记录定义基本表或索引删除基本表或索引修改表结构授权收回权限 Select Insert Update Delete Create Drop Alter Grant Revoke (4)SQL 语言可以直接以命令方式交互使用, 也可以嵌入到程序设计语言中以程序方式使用 现在很多数据库应用开发工具都将 SQL 语言直接融入到自身的语言之中, 使用起来更方便,Visual FoxPro 就是如此 这些使用方式为用户提供了灵活的选择余地 此外, 尽管 SQL 的使用方式不同, 但 SQL 语言的语法基本是一致的 SQL 语言的功能很强大, 但由于 Visual FoxPro 自身安全控制方面的缺陷, 所以它没有提供数据控制功能 在 Visual FoxPro 中只支持数据定义 数据查询和数据操作功能 4.1 数据查询 SQL 语言的核心是查询 SQL 的查询命令的基本形式由 Select-From-Where 查询块组成, 多个查询块可以嵌套执行 查询是根据需要, 以可读的方式从数据库中提取数据 SQL SELECT 查询命令的格式如下 : SELECT [ALL DISTINCT][TOP < 表达式 > [PERCENT]][< 别名 >.]< 列表达式 >[AS < 别名 >]; [,[< 别名.>]< 列表达式 >[AS < 别名 >] ]; FROM [< 数据库名!>]< 表名 >[,[< 数据库名!>]< 表名 > ]; [INNER LEFT RIGHT FULL JOIN [< 数据库名!>]< 表名 >; [ON < 连接条件 > ]]; [[INTO TABLE < 新表名 >] [TO FILE < 文件名 > TO PRINTER TO SCREEN]]; [WHERE < 连接条件 >[AND < 连接条件 > ]; [AND OR < 查询条件 > [AND OR< 查询条件 > ]]]; [GROUP BY < 字段名 >[,< 字段名 > ]][HAVING < 分组条件 >]; [ORDER BY < 字段名 >[ASC DESC][,< 字段名 >[ASC DESC] ]] SQL SELECT 命令看上去非常复杂, 但常用的只有 6 个子句 :SELECT FROM WHERE GROUP BY HAVING ORDER BY (1)SELECT 短语 : 用于说明要查询的数据

3 120 Visual FoxPro 程序设计 (2)FROM 短语 : 用于说明要查询的数据来自哪个或哪些表, 可对单个表或多个表进行查询 (3)WHERE 短语 : 用于说明查询条件 ; 如果是多表查询还可通过该子句指明表与表之间的连接条件进行连接 (4)GROUP BY 短语 : 用于对查询进行分组, 可利用它进行分组汇总 (5)HAVING 短语 : 跟随在 GROUP BY 之后使用, 它是用来限定分组, 要求只有满足分组条件的记录才能进行分组查询 (6)ORDER BY 短语 : 用于对查询的结果进行排序 (7)AS 短语 : 用于指定查询结果中字段的新名称,AS 短语前的表达式可以是一个字段名 表达式 函数等 (8)DISTINCT 短语 : 用于说明在查询结果中去掉重复值 (9)INTO TABLE 短语 : 用于指明查询结果保存在哪个表中 在以后的学习中, 常用的 SQL SELECT 语句的具体格式如下 : SELECT [ALL DISTINCT]< 检索项 >; FROM < 表名列表 >; [WHERE < 查询条件 >[AND< 连接条件 >]]; [GROUP BY < 字段列表 >[HAVING< 分组条件 >]]; [ORDER BY < 字段名 >[ASC DESC]] [INTO TABLE < 新表名 >] [TO FILE < 文件名 >] 1) 在 SQL SELECT 查询语句中,SELECT FROM 两个命令动词是最基本的并且是不可缺少的, 其他命令动词可以根据需要选用 2)SQL SELCET 查询语句的功能是将满足要求的数据查询出来, 它不会更改数据库中的数据 SELECT 查询命令的使用非常灵活, 用它可以构造出各种各样的查询 本节将通过大量的实例来介绍 SELECT 查询命令的使用, 通过实例具体学习各个短语的含义 为了方便读者对照和验证操作结果, 下面给出各个表的具体记录值, 如图 4-1 至图 4-4 所示 图 4-1 学生 (student) 表

4 第 4 章结构化查询语言 SQL 121 图 4-2 课程 (course) 表 图 4-3 成绩 (score) 表图 4-4 教师 (teacher) 表 基本查询学习 SQL SELECT 查询语句, 首先从几个最简单的查询开始, 这些查询可以基于单个表或者基于多个表, 可以有简单的查询条件和连接条件 1. 单表查询单表查询是基于一个表的所有字段的查询, 可以由 SELECT FROM [WHERE ] 子句构成 (1) 单表无条件查询 格式 :SELECT [DISTINCT]< 检索项 >; FROM < 表名 > 例 4.1 从 student 表中检索出学生的学号 姓名 性别 出生日期 所在院系

5 122 Visual FoxPro 程序设计 SELECT 学号, 姓名, 性别, 出生日期, 所在院系 FROM student 查询结果如图 4-5 所示 例 4.2 查询 teacher 表中的所有信息 方法一 : SELECT 教师编号, 教师姓名, 性别, 出生日期, 所在院系, 研究方向, 职称, 学位, 学历 ; FROM teacher 方法二 : SELECT * FROM teacher 两种方法查询的结果一致, 如图 4-6 所示 图 4-5 例 4.1 的查询结果图 4-6 例 4.2 的查询结果 1)SELECT 短语后面接检索项, 即具体要查询的内容 2)FROM 短语指明检索项来自的表, 对于 SELECT 查询语句来说,FROM 子句是必需 的, 是不可以省略的 3) 当查询内容为表中所有信息时, 可以用通配符 *, 表示输出表中所有字段的值 例 4.3 将 student 表中的专业名称信息检索出来 SELECT 专业名称 FROM student 查询结果如图 4-7 所示 例 4.4 将 student 表中的专业名称信息检索出来 ( 去掉重复值 ) SELECT DISTINCT 专业名称 FROM student 查询结果如图 4-8 所示 图 4-7 例 4.3 的查询结果图 4-8 例 4.4 的查询结果

6 第 4 章结构化查询语言 SQL 123 Distinct 短语的作用是去掉查询结果中的重复值 注意 Distinct 短语的位置位于需 要去掉重复值的字段名前面 (2) 单表有条件查询 格式 :SELECT [DISTINCT] < 检索项 > FROM < 表名 > WHERE < 查询条件 > 例 4.5 查询女教师的教师姓名 性别 出生日期 所在院系 研究方向 职称等信息 SELECT 教师姓名, 性别, 出生日期, 所在院系, 研究方向, 职称 ; FROM teacher WHERE 性别 =" 女 " 查询结果如图 4-9 所示 当题目中有限定条件时, 需要用 WHERE 短语来指定查询条件 WHERE 短语位置 应位于 FROM 短语后面 例 4.6 从 score 表中检索出选修了课程编号为 的, 并且成绩不及格的课程 编号, 课程名称, 学号, 姓名和成绩等信息 方法一 :SELECT 课程编号, 课程名称, 学号, 姓名, 成绩 FROM score; WHERE 课程编号 =" " AND 成绩 <60 方法二 :SELECT * FROM score; WHERE 课程编号 =" " AND 成绩 <60 查询结果如图 4-10 所示 图 4-9 例 4.5 的查询结果图 4-10 例 4.6 的查询结果 例 4.7 检索出选修了课程编号为 或 的, 并且成绩大于 70 分 的课程编号 课程名称 姓名 成绩等信息 SELECT 课程编号, 课程名称, 姓名, 成绩 FROM score; WHERE ( 课程编号 =" " OR 课程编号 =" ") AND 成绩 >70 查询结果如图 4-11 所示 1) 在查询中查询条件为两个或两个以上时, 应用逻 辑运算符 AND 或 OR 将多个条件连接起来 AND 表示相与的关系, 当 AND 左右两边的条件都成立时, 表达式结果才为真 OR 表示相或的关系, 当 OR 左右两边的条件有一个成立时, 表达式的结果就为真 2) 在 Visual FoxPro 的命令窗口中, 一行是一条命令语句, 如果一条命令语句太长放在一 行上不方便, 可以分成多行显示, 但是需要在分行处加上续行符 ; 用来表示续行 例 4.8 从 student 表中检索出在 1980 年 12 月 31 日之后出生的所有男同学的学号 姓名 性别 年龄 所在院系 专业名称 家庭住址等信息 SELECT 学号, 姓名, 性别,YEAR(DATE())-YEAR( 出生日期 ) AS 年龄, 所在院系 ; 专业名称, 家庭住址 FROM student; WHERE 出生日期 >{^ } AND 性别 =" 男 " 查询结果如图 4-12 所示 图 4-11 例 4.7 的查询结果

7 124 Visual FoxPro 程序设计 1)YEAR(DATE())-YEAR( 出生日期 ) 表达式 : 用于计算学生的年龄 2) 在表达式后可以用 AS 短语为表达式命别名 例如,YEAR(DATE())-YEAR( 出生日期 ) AS 年龄, 则在查询结果中会出现一个新的字段名 年龄 3) 对于 出生日期 字段是日期型的数据, 所以在书写表达式时要注意类型匹配与类型格式, 如出生日期 <{^ } 图 4-12 例 4.8 的查询结果 2. 多表连接查询 连接是关系的基本操作之一, 当查询涉及多个表时, 就要用到多表的连接查询 连接查 询基于多个关系的查询 下面通过几个简单的连接查询实例来学习多表连接查询 (1) 多表无条件的连接查询 格式 :SELECT < 检索项 > FROM < 表名 > WHERE < 连接条件 > 例 4.9 检索出学生的学号 姓名 性别 选修课程名称 所在院系和成绩等信息 SELECT student. 学号, student. 姓名, 性别, 课程名称, 所在院系, 成绩 ; FROM student,score; WHERE student. 学号 =score. 学号 查询结果如图 4-13 所示 图 4-13 例 4.9 的部分查询结果 1)FROM 短语后面接多个表名 当查询涉及多个表时, 将所有的表名都放在 FROM 短语后面, 并且两个表之间用逗号隔开 2) 这里 student. 学号 =score. 学号 是连接条件 两个表能够进行连接查询的前提是两个表一定要有相同的字段名 当 FROM 短语之后的多个表中含有相同的字段名时, 必须用表名 ( 关系名 ) 前缀直接指明字段名, 格式如下 : 表名 1. 字段名 = 表名 2. 字段名 3)SELECT 短语中的检索项如果不唯一, 需要指明该检索项来自哪个表 例如, 在例 4.9 中检索项学号在 student 表和 score 表中都出现了, 所以要指明该学号到底来自哪个表 例 4.10 检索选修课的课程编号 课程名称 学分和考核方式

8 第 4 章结构化查询语言 SQL 125 SELECT DISTINCT score. 课程编号, score. 课程名称, 学分, 考核方式 ; FROM score,course; WHERE course. 课程编号 =score. 课程编号 查询结果如图 4-14 所示 (2) 多表有条件连接查询 格式 :SELECT < 检索项 > FROM < 表名 > WHERE < 连接条件 > AND < 查询条件 > 例 4.11 检索出所有男同学的并且成绩大于 70 的学号 姓名 性别 课程名称和成绩信息 SELECT student. 学号, student. 姓名, 性别, 课程名称, 成绩 ; FROM student,score; WHERE student. 学号 =score. 学号 AND ( 性别 =" 男 " AND 成绩 >70) 查询结果如图 4-15 所示 图 4-14 例 4.10 的查询结果图 4-15 例 4.11 的查询结果 1) 连接条件与查询条件同时放在 WHERE 短语中, 性别 =" 男 " and 成绩 >70 为查询条 件, student. 学号 =score. 学号 为连接条件, 两个条件用 AND 连接 2) 连接条件与查询条件无先后顺序 例 4.12 检索所有女同学的学号 姓名 课程名称 所在院系 导师姓名 研究方向和 职称等信息 SELECT student. 学号, student. 姓名, score. 课程名称, student. 所在院系 ; 导师姓名, 研究方向, 职称 ; FROM student,course,score,teacher; WHERE student. 学号 =score. 学号 AND; course. 课程编号 =score. 课程编号 AND; course. 教师编号 =teacher. 教师编号 AND; student. 性别 =" 女 " 查询结果如图 4-16 所示 图 4-16 例 4.12 的查询结果

9 126 Visual FoxPro 程序设计 排序查询 利用 SQL SELECT 查询语句进行查询时可以将查询的结果进行排序, 排序的短语为 ORDER BY 格式 :SELECT < 检索项 > FROM < 表名 > [WHERE < 连接条件 > AND < 查询条件 >]; ORDER BY < 字段名 > [ASC DESC] [,< 字段名 >[ ASC DESC] ] 例 4.13 检索出所有成绩大于 80( 含 80) 分的学生成绩信息, 查询结果按成绩降序排列 SELECT * FROM score WHERE 成绩 >=80 ORDER BY 成绩 DESC 查询结果如图 4-17 所示 ASC 表示升序,DESC 表示降序, 默认的情况表示升序 例 4.14 检索课程表中的课程编号 课程名称 课程类别 学时 学分, 按学分的升序 排序, 如果学分相同则按学时降序进行排序 SELECT 课程编号, 课程名称, 课程类别, 学时, 学分 FROM course; ORDER BY 学分 ASC, 学时 DESC 查询结果如图 4-18 所示 图 4-17 例 4.13 的查询结果图 4-18 例 4.14 的查询结果 例 4.15 检索所有女同学的学号, 姓名, 出生日期, 课程编号 课程名称和成绩, 并按 出生日期的升序排序, 再按成绩的降序排序 SELECT student. 学号, student. 姓名, 出生日期 ; score. 课程编号, score. 课程名称, 成绩 ; FROM student,score WHERE student. 学号 =score. 学号 AND 性别 =" 女 " ; ORDER BY 出生日期 ASC,6 DESC 查询结果如图 4-19 所示 1) 在一个查询语句中, 可以按一列或多列进行排序 需要注意排序关键字之间用逗号隔开 2)ORDER BY 短语中的排序依据可以用列序号表示, 如按成绩升序排序, 可以表示为 ORDER BY 4, 其中 4 为第四列

10 第 4 章结构化查询语言 SQL 127 例 4.16 检索所有女同学的学号 姓名 年龄并按年龄升序排序 SELECT 学号, 姓名,YEAR(DATE())-YEAR( 出生日期 ) AS 年龄 ; FROM student WHERE 性别 =" 女 " ORDER BY 年龄 图 4-19 例 4.15 的查询结果图 4-20 例 4.16 的查询结果 计算与分组查询 1. 简单的计算查询 事实上,SQL 不仅具有一般的检索能力, 而且还具有计算方式的检索能力 下面介绍常 用于计算检索的函数, 如表 4-2 所示 表 4-2 常用计算函数及其功能 函数名称格式功能 AVG AVG( 字段名 ) 按列计算平均值 SUM SUM( 字段名 ) 按列计算值的总和 COUNT COUNT( 字段名 ) 按列值统计个数 MAX MAX( 字段名 ) 求一列中的最大值 MIN MIN( 字段名 ) 求一列中的最小值 这些函数可以用在 SELECT 短语中对查询结果进行计算 例 4.17 统计 student 表中有多少个学生记录 SELECT COUNT(*) AS 人数 FROM student 查询结果如图 4-21 所示 1) 如果要统计一个表中有多少元组 ( 行 ) 数, 可以用 COUNT(*) 格式 2) 表达式 COUNT(*) AS 人数 不仅统计出表中的记录个数, 而且为函数表达式命别名 例 4.18 在 score 表中统计选修了课程编号为 的记录个数 SELECT COUNT(*) AS 人数 FROM score WHERE 课程编号 =" " 查询结果如图 4-22 所示

11 128 Visual FoxPro 程序设计 例 4.19 统计有多少个学生选修了 文艺理论基础研究 这门课程 SELECT COUNT(*) AS 人数 FROM score WHERE 课程名称 =" 文艺理论基础研究 " 查询结果如图 4-23 所示 图 4-21 例 4.17 的查询结果图 4-22 例 4.18 的查询结果图 4-23 例 4.19 的查询结果 例 4.20 统计成绩表中学生选修了多少门课程 SELECT COUNT(DISTINCT 课程编号 ) AS 人数 FROM score 查询结果如图 4-24 所示 在 SQL 查询语句中, 除非对表中的元组个数进行统计, 一般情况下 COUNT 函数 应该使用 DISTINCT 短语 例 4.21 计算 外国语 这门课程的平均成绩 SELECT AVG( 成绩 )AS 平均分 FROM score WHERE 课程名称 =" 外国语 " 查询结果如图 4-25 所示 例 4.22 检索 score 表中选修了 文艺理论基础研究 这门课程的最高分和最低分 SELECT 课程名称,MAX( 成绩 ) AS 最高分,MIN( 成绩 ) AS 最低分 FROM score; WHERE 课程名称 =" 文艺理论基础研究 " 查询结果如图 4-26 所示 图 4-24 例 4.20 的查询结果图 4-25 例 4.21 的查询结果图 4-26 例 4.22 的查询结果 例 4.23 检索 course 表中所有学位公共课的学时总和 SELECT SUM( 学时 ) AS 学时总和 FROM course WHERE 课程类别 =" 学位公共课 " 查询结果如图 4-27 所示 2. 分组与计算查询 GROUP BY 短语用来对查询结果进行分组, 把某一列的值相 同的记录分在一组, 通过计算每组产生一个结果 格式 :SELECT FROM [WHERE 连接条件 AND 查询条件 ]GROUP BY < 字段名 >[HAVING < 分组条件表达式 >] 1)GROUP BY 短语后面可以有多个字段名, 分组时把在这些字段上值相同的记录分在一组 2)HAVING 子句总是跟在 GROUP BY 子句之后, 用来限定分组必须满足的条件, 不可 以单独使用 3) 与连接条件表达式并不矛盾, 当一个查询命令中既有 WHERE 短语同时又有 HAVING 短语时, 是先用 WHERE 子句限定元组, 然后进行分组, 最后再用 HAVING 子句限定分组 例 4.24 检索成绩表中每个学生的平均成绩 SELECT 学号,AVG( 成绩 )AS 平均分 FROM score GROUP BY 学号 查询结果如图 4-28 所示 图 4-27 例 4.23 的查询结果

12 第 4 章结构化查询语言 SQL 129 在这个查询中, 首先按学号进行分组, 将学号相同的学生记录放在一起, 然后再 计算每个学生所选修的所有课程的平均分 例 4.25 检索出每个学生的学号 姓名 总分 平均分 最高分和最低分, 并将结果按 总分降序排列 SELECT score. 学号, 姓名, SUM( 成绩 ) AS 总分, AVG( 成绩 ) AS 平均分 ; MAX( 成绩 ) AS 最高分,MIN( 成绩 ) AS 最低分 ; FROM student,score; WHERE student. 学号 =score. 学号 ; GROUP BY score. 学号 ; ORDER BY 总分 DESC 查询结果如图 4-29 所示 图 4-28 例 4.24 的查询结果图 4-29 例 4.25 的查询结果 例 4.26 检索出平均分在 70 分以上的学生的学号 姓名和平均分, 并将结果按平均分升 序排列 SELECT score. 学号, 姓名,AVG( 成绩 ) AS 平均分 ; FROM student,score; WHERE student. 学号 =score. 学号 ; GROUP BY score. 学号 HAVING AVG( 成绩 )>70; ORDER BY 平均分 查询结果如图 4-30 所示 例 4.27 检索至少有两名学生选修的课程的平均分, 检索项包含课程编号 课程名称和 平均分 SELECT 课程编号, 课程名称,AVG( 成绩 )AS 平均分 FROM score; GROUP BY 课程编号 ; HAVING COUNT(*)>=2 查询结果如图 4-31 所示 平均分 1)ORDER BY 短语后面只能用字段名或别名, 不可以用表达式 2) HAVING COUNT(*)>=2 表示 : 每一组的元组个数大于等于 2 时满足条件 例 4.28 检索选修了两门或两门以上课程的学生的平均成绩, 检索项包含学号 姓名

13 130 Visual FoxPro 程序设计 SELECT 学号, 姓名,AVG( 成绩 ) AS 平均分 FROM score; GROUP BY 学号 HAVING COUNT(*)>=2 查询结果如图 4-32 所示 图 4-30 例 4.26 的查询结果图 4-31 例 4.27 的查询结果图 4-32 例 4.28 的查询结果 带特殊运算符的条件查询 在进行一些更复杂 涉及更多关系的检索时, 往往会用到一些特殊运算符, 在这里将介 绍一下可以在 SQL SELECT 查询中使用的几个特殊运算符 1. 确定范围 格式 :BETWEEN AND 例 4.29 查询出生日期在 1980 年 1 月 1 日至 1984 年 12 月 31 日之间的学生的学号 姓 名 性别 出生日期 SELECT 学号, 姓名, 性别, 出生日期 FROM student; WHERE 出生日期 BETWEEN {^ } AND{^ } 这个查询等价于 : SELECT * FROM student; WHERE 出生日期 >= {^ } AND 出生日期 <={^ } 查询结果如图 4-33 所示 1) 表示 和 之间, 显然使用它会使表达条件更清晰 更简洁 2)BETWEEN AND 查询的结果包括两边的界值 例如 :BETWEEN {^ } AND{^ } 等价于 出生日期 >= {^ } AND 出生日期 <={^ } 2. 确定集合 利用 IN 操作可以查询字段值属于指定集合的记录 格式 :SELECT FROM ; WHERE 字段名 [NOT]IN ( 集合 ) [AND 连接条件 ] 例 4.30 查询选修了课程编号为 或 或 , 并且成绩 在 70 分以上的学生的学号 课程编号和成绩, 并按成绩降序排序 SELECT 学号, 课程编号, 成绩 FROM score; WHERE 课程编号 IN (" "," "," ") AND 成绩 >70; ORDER BY 成绩 DESC 查询结果如图 4-34 所示

14 第 4 章结构化查询语言 SQL 131 例 4.31 查询没有选修课程编号为 或 或 , 并且成 绩在 80 分以上的学生的学号 课程编号和成绩, 并按成绩降序排序 SELECT 学号, 课程编号, 成绩 FROM score ; WHERE 课程编号 NOT IN (" "," "," ") AND 成绩 >70; ORDER BY 成绩 DESC 查询结果如图 4-35 所示 图 4-33 例 4.29 的查询结果图 4-34 例 4.30 的查询结果图 4-35 例 4.31 的查询结果 IN 表示在一定的范围, 表示不在一定范围则在前面加 NOT, 即 NOT IN 3. 部分匹配查询 以上例子均属于完全匹配查询, 当不知道完全精确的値时, 可以使用 LIKE 或 NOT LIKE 进行部分匹配查询 ( 也称模糊查询 ) 在进行匹配运算时经常用到通配符 % 和 _ % 表示 0 个或多个字符 ; _ 表示 1 个字符 LIKE 的基本格式如下 :SELECT FROM ; WHERE < 字段名 > LIKE < 字符串常量 > [AND 连接条件 ] 例 4.32 查询所有姓 张 的学生的学号 姓名 性别 所在院系 专业名称 SELECT 学号, 姓名, 性别, 所在院系, 专业名称 ; FROM student WHERE 姓名 LIKE " 张 %" 查询结果如图 4-36 所示 图 4-36 例 4.32 的查询结果图 4-37 例 4.33 的查询结果 例 4.33 查询第二个汉字是 春 的学生的学号 姓名 性别 所在院系 专业名称 SELECT 学号, 姓名, 性别, 所在院系, 专业名称 ; FROM student WHERE 姓名 LIKE"_ 春 %" 查询结果如图 4-37 所示 4. 不等于 (!=) 例 4.34 查询家庭住址属于黑龙江省的并且语种 不属于俄语的学生的学号 姓名 性别 家庭住址 SELECT 学号, 姓名, 性别, 家庭住址 FROM student; WHERE 家庭住址 LIKE " 黑龙江 %" AND 语种!=" 俄语 " 查询结果如图 4-38 所示 图 4-38 例 4.34 的查询结果

15 132 Visual FoxPro 程序设计 利用空值查询 空值就是缺值或还没有确定值 比如表示价格的一个字段值, 空值表示没有定价, 而数 值 0 可能表示免费 空值与空 ( 或空白 ) 字符串 数值 0 等具有不同的含义 假设在 score 表 中有些学生某门课程还没有考试, 则可以将成绩设为 NULL, 表示成绩尚未确定, 并不表示 0 分 在 SQL SELECT 查询中, 空值的具体格式如下 : SELECT FROM ; WHERE < 字段名 > IS [NOT]NULL [AND 连接条件 ] 1)< 字段名 >IS NULL( 为空值 ) 2)< 字段名 >IS NOT NULL( 不为空值 ) 3) 在表达式中不能写成 =NULL 或!=NULL 例 4.35 检索出还没有确定授课教师的课程信息 方法一 :SELECT * FROM course WHERE 教师编号 IS NULL 方法二 :SELECT * FROM course WHERE 教师姓名 IS NULL 查询结果如图 4-39 所示 图 4-39 例 4.35 的查询结果 例 4.36 检索有哪些学院已经确定了开设哪些课程, 检索内容包含课程编号 课程名称 开课学院 课程类别 SELECT 课程编号, 课程名称, 开课学院, 课程类别 ; FROM course; WHERE 开课学院 IS NOT NULL 查询结果如图 4-40 所示 图 4-40 例 4.36 的查询结果

16 第 4 章结构化查询语言 SQL 嵌套查询 接下来讨论另一类基于多个关系的查询, 这类查询所要求的结果出自一个关系, 但相关的条件却涉及多个关系 格式 :SELECT FROM WHERE (SELECT FROM WHERE ) 1) 在嵌套查询中有两层 SELECT FROM [WHERE ] 查询块, 即内层查询块和外层查询块, 内层查询 ( 括号里的查询 ) 也叫子查询, 外层查询也叫主查询 2) 在进行查询时, 先执行子查询, 子查询形成一个结果作为主查询的条件, 然后再进行外层的主查询 在嵌套查询中子查询的常用谓词和量词有以下几种 1. 带有 IN 或 NOT IN 运算符的嵌套查询由于在嵌套查询中, 子查询的结果往往是一个集合, 所以运算符 IN 和 NOT IN 是嵌套查询中最经常使用的谓词 带有 IN 或 NOT IN 运算符的嵌套查询是指主查询与子查询之间用 IN 或 NOT IN 连接, 用来判断某个属性列值是否在子查询的结果中 格式 :SELECT FROM WHERE IN(SELECT FROM WHERE ) 1) 在子查询中 SELECT 后的字段名必须与主查询中 IN 短语前面的字段名相同 2) 子查询中不能有 ORDER BY 排序短语 例 4.37 将所有选修了 英语文体学 这门课程并且成绩大于 70 分的学生的学号 姓名 性别 所在院系 专业名称等信息检索出来 SELECT 学号, 姓名, 性别, 所在院系, 专业名称 ; FROM student; WHERE 学号 IN (SELECT 学号 FROM score; WHERE 课程名称 =" 英语文体学 " AND 成绩 >70) 等价于 : SELECT student. 学号, student. 姓名, 性别, 所在院系, 专业名称 ; FROM student,score; WHERE student. 学号 =score. 学号 AND 成绩 >70 AND 课程名称 =" 英语文体学 " 查询结果如图 4-41 所示 例 4.38 检索没有被选修的课程的课程名称 课程类别 学时 学分 考核方式等信息 SELECT 课程名称, 课程类别, 学时, 学分, 考核方式 FROM course; WHERE 课程编号 NOT IN (SELECT 课程编号 FROM score) 查询结果如图 4-42 所示 图 4-41 例 4.37 的查询结果图 4-42 例 4.38 的查询结果

17 134 Visual FoxPro 程序设计 例 4.39 检索没有确定授课的教师信息, 查询内容包括教师姓名 出生日期 所在院系 研究方向 职称 学位 SELECT 教师姓名, 出生日期, 所在院系, 研究方向, 职称, 学位 FROM teacher; WHERE 教师编号 NOT IN (SELECT 教师编号 FROM course) 查询结果如图 4-43 所示 2. 带有比较运算符的嵌套查询 带有比较运算符的子查询是指主查询与子查询之间用比较运算符进行连接 当能确切知 道内层查询返回的是单值时, 可以用 < <= > >= <>!= 等运算符 格式 :SELECT FROM WHERE 比较运算符 (SELECT FROM WHERE ) 例 4.40 检索成绩高于平均分的学生的学号 姓名 课程名称 成绩, 并按成绩降序排 序 SELECT 学号, 姓名, 课程名称, 成绩 FROM score; WHERE 成绩 > (SELECT AVG( 成绩 ) FROM score) ORDER BY 成绩 DESC 查询结果如图 4-44 所示 图 4-43 例 4.39 的查询结果图 4-44 例 4.40 的查询结果 3. 带有 ANY ALL SOME 量词的嵌套查询 ANY ALL 和 SOME 为量词,ANY 和 SOME 是同义词, 在进行比较运算时只要子查询 中有一个记录能使结果为真, 则结果为真 ;ALL 则要求子查询中的所有记录都使结果为真时, 结果才为真 格式 :SELECT FROM ; WHERE< 表达式 >< 比较运算符 >[ANY ALL SOME](SELECT FROM [WHERE ]) 例 4.41 查询学分最高的课程信息 方法一 :SELECT * FROM course WHERE 学分 >=ALL (SELECT 学分 FROM course) 方法二 :SELECT * FROM course WHERE NOT 学分 < ANY (SELECT 学分 FROM course) 方法三 :SELECT * FROM course WHERE NOT 学分 < SOME (SELECT 学分 FROM course) 方法四 :SELECT * FROM course WHERE 学分 = (SELECT MAX( 学分 ) FROM course) 查询结果如图 4-45 所示

18 第 4 章结构化查询语言 SQL 135 图 4-45 例 4.41 的查询结果 例 4.42 查询学分不是最高的课程信息 方法一 :SELECT * FROM course; WHERE 学分 <ANY (SELECT 学分 FROM course) 方法二 :SELECT * FROM course; WHERE 学分 <SOME(SELECT 学分 FROM course) 4. 带有 EXISTS(NOT EXISTS) 谓词的子查询 EXISTS 为谓词,EXISTS 和 NOT EXISTS 是用来检查在子查询中是否有结果返回, 也就 是存在元组 ( 记录 ) 或不存在元组 ( 记录 ) 格式 :SELECT FROM ; WHERE [NOT] EXISTS(SELECT FROM [WHERE ]) 例 4.43 查询职称为 教授 的教师授课情况, 检索项包含课程名称 课程类别 学时 授课教师姓名 SELECT 课程名称, 课程类别, 学时, 教师姓名 ; FROM course; WHERE EXISTS ; (SELECT * FROM teacher WHERE teacher. 教师编号 =course. 教师编号 AND 职称 =" 教授 ") 注意 : 本例中内层查询引用了外层查询的表, 只有这样使用谓词 EXISTS 或 NOT EXISTS 才有意义 查询结果如图 4-46 所示 例 4.44 检索选修的每门课程的成绩都高于或等于 75 分的学生的学号 姓名和性别 SELECT 学号, 姓名, 性别 FROM student WHERE NOT EXISTS; (SELECT * FROM score WHERE student. 学号 =score. 学号 AND 成绩 <75) 查询结果如图 4-47 所示 图 4-46 例 4.43 的查询结果图 4-47 例 4.44 的查询结果 别名与自连接查询 在连接操作中, 要使用关系名作前缀, 有时为简单起见,SQL 允许在 FROM 短语中为关

19 136 Visual FoxPro 程序设计 系名定义别名 格式 :< 关系名 > < 别名 > 例 4.45 查询学生的姓名, 性别和所选修课程的课程名称 学分 学时和成绩信息, 要 求成绩必须大于 80 分, 且按成绩降序排列 SELECT student. 姓名, 性别, score. 课程名称, 学分, 学时, 成绩 ; FROM student,course, score ; WHERE student. 学号 =score. 学号 AND ; course. 课程编号 =score. 课程编号 AND 成绩 >80 ; ORDER BY 成绩 DESC 在上面的查询中, 如果使用别名会简单一些 下面给出利用别名的查询语句, 它与上面 查询是等价的 SELECT S. 姓名, 性别, SC. 课程名称, 学分, 学时, 成绩 ; FROM student S,course C, score SC; WHERE S. 学号 =SC. 学号 AND C. 课程编号 =SC. 课程编号 AND 成绩 >80; ORDER BY 成绩 DESC 查询结果如图 4-48 所示 图 4-48 例 4.45 的查询结果 在上面的例子中, 别名并不是必需的, 但是在关系的自连接操作中, 别名则是必不可少的 SQL 不仅可以对多个关系实行连接操作, 也可将同一关系与其自身进行连接, 这种连接就称为自连接 在这种自连接操作关系上, 本质上存在着一种特殊的递归联系, 也就是关系中的一些元组, 根据出自同一值域的两个不同的属性, 可以与另外一些元组有一种对应关系 ( 一对多的联系 ) 注 : 元组即记录 下面以 先修课 表为例介绍自连接, 在 先修课 关系中, 课程编号 与 先修课 出自一个值域, 一门课可以是多门课程的先修课 例 4.46 试查询某门课程的先修课的课程名称 分析 : 需要利用自连接, 首先将 先修课 表另起两个别名, 分别为 XS1 和 XS2, 代表两个表 ( 如图 4-49 所示 ), 然后可以类似多表连接查询的操作进行查询即可 XS1 XS2 图 4-49 先修课 表

20 SELECT XS1. 课程编号,XS2. 课程名称 ; FROM 先修课 XS1, 先修课 XS2; WHERE XS1. 先修课 =XS2. 课程编号 查询结果如图 4-50 所示 第 4 章结构化查询语言 SQL 超连接查询 图 4-50 例 4.46 查询结果 在 SQL 标准中还提供了一种新的连接运算 : 超连接运算 它与原来所了解的等值连接和自然连接不同 原来的连接是只有满足连接条件, 相应的结果才会出现在结果表中 ; 而超连接运算是, 首先保证一个表中满足条件的元组都在结果中, 然后将满足连接条件的元组与另一个表中的元组进行连接, 不满足连接条件的则应将来自另一表的属性置为空值 在一般 SQL 中的超连接运算符是 * = 和 = * * = 也叫左连接 : 含义是在结果表中包含第一个表中满足条件的所有记录 ; 如果有在连接条件上匹配的元组, 则第二个表返回相应值, 否则第二个表返回空值 = * 也叫右连接 : 含义是在结果表中包含第二个表中满足条件的所有记录 ; 如果有在连接条件上匹配的元组, 则第一个表返回相应值, 否则第一个表返回空值 在 Visual FoxPro 中不支持 * = 和 = * 这个超连接运算符, 而对于 Visual FoxPro 有专门的连接运算格式, 它们支持超连接查询 格式 :SELECT < 检索项 >; FROM < 表名 1>INNER LEFT RIGHT FULL JOIN < 表名 2>; ON < 连接条件 >; WHERE < 查询条件 > 1)INNER JOIN 短语 : 等价于 JOIN 为普通连接 在 Visual FoxPro 中称为内部连接 2)LEFT JOIN 短语 : 为左连接 3)RIGHT JOIN 短语 : 为右连接 4)FULL JOIN 短语 : 为全连接 即两个表中的记录不管是否满足连接条件将都在目标表或查询结果中出现, 不满足连接条件的记录对应部分为 NULL 5)ON 短语 : 用于指定连接条件 6) 在超连接查询中, 连接条件与查询条件要分开并且放在不同的命令短语后面 7)4 种超连接类型 : 在查询过程中, 超连接类型在 FROM 短语中给出 下面通过例题来观察超连接运算 用到 score 表和 student 表, 如图 4-51 和图 4-52 所示 图 4-51 score 表图 4-52 student 表 例 4.47 内部连接 即只有满足连接条件的记录才出现在查询结果中

21 138 Visual FoxPro 程序设计 SELECT student. 姓名, 成绩 ; FROM student INNER JOIN score; ON student. 学号 = score. 学号 等价于 SELECT student. 姓名, 成绩 ; FROM student, score; WHERE student. 学号 = score. 学号 查询结果如图 4-53 所示 例 4.48 左连接 即除满足连接条件的记录出现在查询结果中外, 第一个表中不满足连 接条件的记录也出现在查询结果中 SELECT student. 姓名, 成绩 ; FROM student LEFT JOIN score; ON student. 学号 = score. 学号 查询结果如图 4-54 所示 例 4.49 右连接 即除满足连接条件的记录出现在查询结果中外, 第二个表中不满足连 接条件的记录也出现在查询结果中 SELECT student. 姓名, 成绩 ; FROM student RIGHT JOIN score; ON student. 学号 = score. 学号 查询结果如图 4-55 所示 图 4-53 例 4.47 的查询结果图 4-54 例 4.48 的查询结果图 4-55 例 4.49 的查询结果 例 4.50 全连接 即除满足连接条件的记录出现在查询结果中外, 两个表中不满足连接 条件的记录也出现在查询结果中 SELECT student. 姓名, 成绩 ; FROM student FULL JOIN score; ON student. 学号 = score. 学号 查询结果如图 4-56 所示 例 4.51 用 SQL 语句性别为 男 且考试成绩在 85 分以上 ( 含 85 分 ) 的学生的全部信息, 并将结果按学号升序存入自由表 nine.dbf 文件中 ( 结构同 student, 并在其后加入成绩字段 ) SELECT student.*,score. 成绩 ; FROM course INNER JOIN score; INNER JOIN student; ON score. 学号 = student. 学号 ; ON course. 课程编号 = score. 课程编号 ; WHERE score. 成绩 >= 85; AND 性别 =" 男 ";

22 第 4 章结构化查询语言 SQL 139 ORDER BY student. 学号 ; INTO TABLE NINE.DBF 查询结果如图 4-57 所示 图 4-56 例 4.50 的查询结果图 4-57 例 4.51 的查询结果 集合的并运算 在 Visual FoxPro 中, 将两个 SELECT 语句的查询结果通过并运算合并成一个查询结果 为进行并运算, 要求两个查询结果具有相同的字段个数, 并且对应字段的值要出自同一值域, 也就是具有相同的数据类型和取值范围 格式 :SELECT FROM WHERE ; UNION; SELECT FROM WHERE 例 4.52 查询课程编号为 与 的选课信息 SELECT * FROM score WHERE 课程编号 =" "; UNION; SELECT * FROM score WHERE 课程编号 =" " 查询结果如图 4-58 所示 图 4-58 例 4.52 的查询结果 查询中的几个特殊选项 1. 显示部分结果格式 :TOP n [PERCENT] 功能 : 只需要满足条件的前几个记录 1)n 是 1~32767 之间的整数, 说明显示前几个记录 2) 当使用 PERCENT 参数时, 说明显示结果中前百分之几的记录 3) 通常与 ORDER BY 子句连用

23 140 Visual FoxPro 程序设计 例 4.53 显示成绩最高的 3 名学生选课信息 SELECT * TOP 3 FROM score ORDER BY 成绩 DESC 查询结果如图 4-59 所示 例 4.54 显示成绩最低的那 10% 的学生选课信息 SELECT * TOP 10 PERCENT FROM score ORDER BY 成绩 ASC 查询结果如图 4-60 所示 图 4-59 例 4.53 的查询结果图 4-60 例 4.54 的查询结果 2. 将查询结果存放在数组中 格式 :INTO ARRAY 数组名 例 4.55 将 student 表信息存放在数组 temp 中 SELECT * FROM student INTO ARRAY TEMP 1) 一般将存放查询结果的数据作为二维数组来使用, 每一行一条记录, 每列对应于查询 结果的一列 查询结果存放在数组中, 可以非常方便地在程序中使用 2) 运行该命令后, 数组元素 temp(1,1) 中存放 student 表中第一条记录的第一个值 ,temp(1,4) 中存放 student 表中第一条记录的第四个值 学位公共课 3. 将结果存放在临时文件中 格式 :INTO CURSOR 临时表名 例 4.56 将 score 表中的信息保存在临时文件 学生成绩 中, 并浏览 学生成绩 表 SELECT * FROM score INTO CURSOR 学生成绩 BROWSE 1) 临时表是一个只读的 DBF 文件, 当查询结束后该临时文件是当前文件, 可像一般的 DBF 文件一样使用, 当关闭文件时该文件将自动删除 2) 一般利用 INTO CURSOR 短语存放一些临时结果, 比如一些复杂的汇总可能需要分阶 段完成, 需要根据几个中间结果再汇总等, 这时利用该短语存放中间结果就非常合适, 当使用 完后这些临时文件会自动删除 4. 将结果存放在永久表中 格式 :INTO TABLE DBF TABLENAME 例 4.57 查询所有 学位基础课 信息, 并将查询结果按学时降序保存在永久表 课程 中 SELECT * FROM course INTO TABLE 课程 ; WHERE 课程类别 =" 学位基础课 " ORDER BY 学时 DESC 另一种格式 : SELECT * FROM course; WHERE 课程类别 =" 学位基础课 " ORDER BY 学时 DESC INTO TABLE 课程 1)INTO TABLE < 表名 > 的位置比较灵活, 可以放在 FROM 短语后, 也可位于 SQL SELECT 查询语句的最后面

24 第 4 章结构化查询语言 SQL 141 2) 对于查询的结果被直接保存在永久表中, 如果需要查看结果可以使用下面的命令操作 USE 表名 BROWSE 3) 通过该子句可实现表的复制 例 4.58 将 student 表中的全部信息复制到新表 学生 中 SELECT * FROM student INTO TABLE 学生 例 4.59 利用 SQL 语句查询选修了职称为 副教授 的课程的学生全部信息, 并将结果按 成绩降序存放在 netp.dbf 文件中 ( 表的结构同 student, 并在其后加入课程名称和成绩字段 ) SELECT student.*, course. 课程名称,score. 成绩 ; FROM student,score, course,teacher; WHERE score. 课程编号 = course. 课程编号 AND; student. 学号 = score. 学号 AND teacher. 教师编号 =course. 教师编号 ; AND 职称 =" 副教授 "; ORDER BY 成绩 DESC; INTO TABLE NETP.DBF 查询结果如图 4-61 所示 图 4-61 例 4.59 的查询结果 5. 将结果存放到文本文件中 格式 :TO FILE FILENAME [ADDITIVE] 1)FILENAME 给出文本文件的名称 2) 如果使用 ADDITIVE 短语, 则将结果追加到原文件的尾部, 否则将覆盖原有文件 3)TO FILE 短语可以放置在 FROM 短语中, 也可以放置在查询语句的最后面 例 4.60 将所有成绩大于 85 分的成绩信息按成绩降序保存到文本文件 temp1.txt 中 SELECT * FROM score WHERE 成绩 >85 TO FILE TEMP1 ORDER BY 成绩 DESC 查询结果如图 4-62 所示 例 4.61 将选课在 2 门课程以上 ( 包括 2 门 ) 的学生的学号 姓名 平均分和选课门数 按平均分降序排序, 并将结果存放于文本文件 temp2.txt 中 ( 字段名包含学号 姓名 平均分 和选课门数 ) SELECT student. 学号, student. 姓名, AVG(score. 成绩 ) AS 平均分, COUNT(score. 课程编号 ) AS 选课门数 ; FROM student, score,course; WHERE student. 学号 = score. 学号 AND; score. 课程编号 = course. 课程编号 ; GROUP BY student. 学号 ; HAVING COUNT(score. 课程编号 )>=2; ORDER BY 3 DESC; TO FILE TEMP2.TXT

25 142 Visual FoxPro 程序设计 查询结果如图 4-63 所示 图 4-62 例 4.60 的查询结果图 4-63 例 4.61 的查询结果 6. 将结果直接输出到打印机格式 :TO PRINTER [PROMPT] 使用 TO PRINTER[PROMPT] 命令可以直接将查询的结果输出到打印机, 如果使用了 PROMPT 选项, 在开始打印之前会打开打印机设置对话框 4.2 数据操作 SQL 语言的操作功能是指对数据库中数据的操作功能, 主要包括数据的插入 更新和删 除 3 个方面的操作, 下面通过实例具体介绍 插入操作 Visual FoxPro 支持两种 SQL 插入命令的格式 第一种格式 :( 标准格式 ) INSERT INTO < 表名 >[( 字段名 1[, 字段名 2 ])]; VALUSE( 表达式 1[, 表达式 2 ]) 第二种格式 :(Visual FoxPro 的特殊格式 ) INSERT INTO < 表名 > FROM 功能 : 用于将数据插入到指定的表中 ARRAY < 数组名 > MEMVAR 1)INSERT INTO < 表名 >: 说明向哪个表中插入记录 2)[( 字段名 1[, 字段名 2 ])]: 如果被插入的记录是一条完整的记录, 则可以省略字段名 序列 ; 如果被插入的记录不是一条完整的记录, 则将值所对应的字段名列出 3)VALUSE( 表达式 1[, 表达式 2 ]): 要插入的具体的记录值 4)FROM ARRAY < 数组名 >: 表示数据来源于指定的数组 5)FROM MEMVAR: 将同名的内存变量的值插入到表中, 如果不存在同名的内存变量, 那么相应的字段为默认值或空值 例 4.62 向 score 表中插入一条记录 (" "," 大众文化研究 "," "," 刘婧男 ",98) INSERT INTO score ( 课程编号, 课程名称, 学号, 姓名, 成绩 ); VALUES (" "," 大众文化研究 "," "," 刘婧男 ",98) 等价于

26 第 4 章结构化查询语言 SQL 143 INSERT INTO score; VALUES (" "," 大众文化研究 "," "," 刘婧男 ",98) 例 4.63 向 teacher 表中插入一条记录 (" "," 朱杰 ", " 讲师 ") INSERT INTO teacher ( 教师编号, 教师姓名, 职称 ); VALUES(" "," 朱杰 ", " 讲师 ") 例 4.62 插入的是一条完整的记录, 所以在 INSERT INTO score 后面可以不加字段 名序列 ; 而例 4.63 插入的记录不是一条完整的记录, 所以在表名的后面必须要加上具体值所 对应的字段名 删除操作 在 Visual FoxPro 中 SQL-DELETE 语句可以为指定的数据表中的记录添加删除标记 格式 :DELETE FROM < 表名 >[WHERE< 条件表达式 >] 1)FROM 短语 : 表示指定从哪个表中删除数据 2)WHERE 短语 : 表示指定被删除的记录所满足的条件, 如果省略 WHERE 子句, 则逻 辑删除该表中的所有记录 3) 在 Visual FoxPro 中 SQL-DELETE 命令是逻辑删除记录, 如果要物理删除记录需要继 续使用 PACK 命令 4) 类似于 Visual FoxPro 中的 DELETE FOR 命令 例 4.64 使用 SQL 语句将 teacher 表中职称为副教授的教师信息删除 DELETE FROM teacher WHERE 职称 =" 副教授 " 删除结果如图 4-64 所示 与之等价的命令如下 : USE teacher DELETE FOR 职称 =" 副教授 " 删除结果同上 图 4-64 例 4.64 的删除结果 例 4.65 使用 SQL 语句将所授课程的学时小于 60 且考核方式为闭卷的教师信息逻辑删除 DELETE FROM teacher; WHERE 教师编号 IN; (SELECT 教师编号 FROM course WHERE 学时 <60 AND 考核方式 =" 闭卷 ")

27 144 Visual FoxPro 程序设计 更新操作 在 Visual FoxPro 中,SQL 语言的更新操作是对表中的数据进行修改 格式 :UPDATE < 表名 >; SET < 字段名 1>=< 表达式 1>[,< 字段名 2>=< 表达式 2>...]; [WHERE < 条件表达式 >] 1) 一般使用 WHERE 子句指定修改条件, 如果省略 WHERE 子句, 则更新表中的全部记录 2)SQL 更新命令类似于 Visual FoxPro 中的 REPLACE WITH 命令 例 4.66 将 course 表中课程编号为 的课程的学分加 2 分 UPDATE course SET 学分 = 学分 +2 WHERE 课程编号 =" " 与之等价的命令如下 : USE course REPLACE ALL 学分 WITH 学分 +2 FOR 课程编号 =" " 例 4.67 将学分为 3 的所有课程的成绩提高 10% UPDATE score; SET 成绩 = 成绩 *1.1; WHERE 课程编号 IN (SELECT 课程编号 FROM course WHERE 学分 =3) 4.3 数据定义 标准 SQL 语言的数据定义功能非常广泛, 一般包括数据库的定义 表的定义 视图的定 义 规则的定义和索引的定义等若干部分 在本节将主要介绍 Visual FoxPro 支持的表定义功 能和视图定义功能 定义表 利用表设计器建立表的方法在第 3 章已经介绍了, 在 Visual FoxPro 中不仅可以通过表设 计器来建立表, 也可以通过 SQL 语言中的 CREATE TABLE 命令建立表结构 具体格式如下 : CREATE TABLE DBF < 表名 1>[NAME < 长表名 >][FREE]; ( < 字段名 1> < 字段类型 > [( 字段宽度 )][NULL NOT NULL]; [CHECK< 逻辑表达式 1>[ERROR < 提示信息 >]]; [DEFAULT < 表达式 1>]; [PRIMARY KEY UNIQUE]; [REFERENCES < 表名 2> [TAG< 索引名 1>]]; [,< 字段名 2> < 字段类型 >[( 字段宽度 )][NULL NOT NULL] ]; [,CHECK < 逻辑表达式 2>[ERROR < 提示信息 2>]] [,PRIMARY KEY < 表达式 2> TAG < 索引名 2>,UNIQUE < 表达式 3> TAG < 索引名 3>] [,FOREIGN KEY < 表达式 4> TAG < 索引名 4> REFERENCES < 表名 3>[TAG < 索引名 5>]] ) 1) 从以上建立表的基本格式可以看出, 用 CREATE TABLE 命令建立表可以完成用第 3 章介绍的表设计器能够完成的所有功能 2) 具体命令短语功能如表 4-3 所示

28 第 4 章结构化查询语言 SQL 145 表 4-3 命令短语功能 命令短语 NAME 长表名 FREE NULL 或 NOT NULL CHECK ERROR DEFAULT 功能为建立的表指定一个长名建立的表不添加到当前数据库中, 即建立一个自由表说明字段允许或不允许为空值用来定义域完整性用来定义出错信息用来定义默认值 PRIMARY KEY 用来定义主关键字 ( 主索引 ) UNIQUE FOREIGN KEY REFERENCES 用来定义候选索引 用来定义表之间的联系 3) 在 CREATE TABLE 命令中可以使用的字段类型及说明如表 4-4 所示 表 4-4 表中常用的字段类型 字段类型字段宽度小数位说明 C n - 字符型字段的宽度为 n D 默认 (8) - 日期类型 (Date) T 默认 (8) - 日期时间类型 (DateTime) N n D 数值字段类型, 宽度为 n, 小数位为 d(numeric) F n d 浮点数值字段类型, 宽度为 n, 小数位为 d(float) I 默认 (4) - 整数类型 (Integer) B 默认 (8) d 双精度类型 (Double) Y 默认 (8) - 货币类型 (Currency) L 1 - 逻辑类型 (Logical) M 4 - 备注类型 (Memo) G 4 - 通用类型 (General) 本节通过创建 学生数据库 及其中的表 ( 如图 4-65 所示 ) 来学习使用 SQL CREATE TABLE 命令建立表 表结构如下 : 学生表 ( 学号 C(4), 姓名 C(8), 性别 L, 年龄 I, 入学时间 D) 成绩表 ( 学号 C(4), 课程编号 C(2), 成绩 N(6,2)) 课程表 ( 课程编号 C(2), 课程名称 C(20), 学分 I, 教师编号 C(3)) 教师表 ( 教师编号 C(3), 教师姓名 C(8), 职称 C(8), 工资 I) 例 4.68 用命令创建 学生数据库, 并用 SQL CREATE 命令建立 学生表 CREATE DATABASE 学生数据库 CREATE TABLE 学生表 (; 学号 C(4) PRIMARY KEY,; 姓名 C(8),; 性别 L,; 年龄 I,; 入学时间 D)

29 146 Visual FoxPro 程序设计 图 4-65 学生数据库 例 4.69 用命令创建 教师表 CREATE TABLE 教师表 (; 教师编号 C(3) PRIMARY KEY,; 教师姓名 C(8),; 职称 C(8),; 工资 I CHECK( 工资 >1000 AND 工资 <=6000); ERROR " 工资的范围在 1000~6000!"; DEFAULT 1500) 例 4.70 用命令创建 课程表 CREATE TABLE 课程表 (; 课程编号 C(2) PRIMARY KEY,; 课程名称 C(20),; 学分 I,; 教师编号 C(3),; FOREIGN KEY 教师编号 TAG 教师编号 REFERENCES 教师表 ) 例 4.71 用命令创建 成绩表 CREATE TABLE 成绩表 (; 学号 C(4),; 课程编号 C(2),; 成绩 N(6,2) CHECK( 成绩 >=0 AND 成绩 <=100); ERROR " 成绩应该在 0 至 100 之间 "; DEFAULT 0,; FOREIGN KEY 学号 TAG 学号 REFERENCES 学生表,; FOREIGN KEY 课程号 TAG 课程号 REFERENCES 课程表 ) 1) 在学生表中用 PRIMARY KEY 命令说明 学号 为主关键字 2) 在教师表中用 CHECK 说明了 工资 字段的有效性规则为 工资 >1000 AND 工资 <=6000 用 ERROR 说明了当输入出错时的提示信息为 工资的范围在 1000~6000! ; 用 DEFAULT 说明了当没有输入教师工资时默认显示为 ) 在成绩表中用 CHECK 说明了 成绩 字段的有效性规则 ; 用 ERROR 说明了出错信 息 ; 还用 default 命令说明了 成绩 字段的默认值为 0 4) 利用短语 FOREIGN KEY 学号 和 FOREIGN KEY 课程号 在成绩表中建立两 个普通索引, 作为连接字段, 并通过引用学生表的主索引 学号 (TAG 学号 REFERENCES 学生表 ) 建立了成绩表与学生表之间的联系 ; 通过引用课程表的主索引 课程号 (TAG 课程

30 第 4 章结构化查询语言 SQL 147 号 REFERENCES 课程表 ) 建立了成绩表与课程表之间的联系 删除表 删除表的 SQL 命令如下 格式 :DROP TABLE < 表名 > 功能 : 直接从磁盘上删除指定的表所对应的 DBF 文件 如果要删除的表是数据库中的表并且相应的数据库是当前数据库, 则从数据库中 删除了表 ; 否则虽然从磁盘上删除了 DBF 文件, 但是记录在数据库 DBC 文件中的信息却没 有删除, 此后会出现错误提示 所以要删除数据库中的表时, 最好使用的数据是当前打开的数 据库, 在数据库中进行操作 例 4.72 删除上例中所建的表 课程表 DROP TABLE 课程表 修改表结构 修改表结构的命令是 ALTER TABLE, 它包括添加 (ADD) 修改 (ALTER) 删除 (DROP) 表中的字段 字段类型 字段宽度 字段有效性规则及索引等 修改表结构的命令有 3 种格式 格式 1:ALTER TABLE < 表名 1> ADD ALTER ; [COLUMN] < 字段名 1 > < 字段类型 >[( 字段宽度 )][NULL NOT NULL] [CHECK < 逻辑表达式 >[ERROR< 提示信息 >]][DEFAULT< 表达式 >] [PRIMARY KEY UNIQUE] [REFERENCES < 表名 2>[TAG < 索引名 >]] 此格式可添加 (ADD) 新的字段或修改 (ALTER) 已有的字段, 它的句法基本与 CREATE TABLE 的句法相对应 例 4.73 为 score 表增加一个长度为 2 的整型的学分字段, 要求学分有效性规则为大于等于 0, 默认值为 2, 提示信息为 学 分应该大于 0 ALTER TABLE score ADD 学分 I CHECK 学分 >=0 ERROR " 学分应该大于 0" DEFAULT 2 结果如图 4-66 所示 例 4.74 将 student 表中的家庭住址的长度由 8 改为 20 ALTER TABLE student ALTER 家庭住址 C(20) 1) 从以上两个例题可以看出, 该格式可以修改字段的类型 宽度 有效性规则 错误信 息 默认值 另外, 还可以定义主关键字和联系等 2) 但是用 ALTER TABLE ADD ALTER 命令格式不能修改字段名, 不能删除字 段, 也不能删除已经定义的有效性规则 格式 2:ALTER TABLE < 表名 > ALTER [COLUMN] < 字段名 1> [NULL NOT NULL] [SET DEFAULT ] [SET CHECK < 逻辑表达式 >[ERROR< 提示信息 >]] [DROP DEFAULT] [DROP CHECK] 图 4-66 例 4.73 的添加结果

31 148 Visual FoxPro 程序设计 信息 1)SET DEFAULT: 用于设置默认值 2)SET CHECK < 逻辑表达式 >[ERROR< 提示信息 >]: 用于设置有效性规则和错误提示 3)DROP DEFAULT: 用于删除已经存在的默认值 4)DROP CHECK: 用于删除已经存在的有效性规则 例 4.75 使用 SQL 命令为 score 表中 成绩 字段增加有效性规则 : 成绩在 0~100 之间 且默认值为 60 ALTER TABLE score ALTER 成绩 ; SET DEFAULT 60 ; SET CHECK 成绩 >=0 AND 成绩 <=100 ERROR" 成绩应在 0~100 之间!" 例 4.76 使用 SQL 命令删除 score 表中成绩字段的有效性规则 ALTER TABLE score ALTER 成绩 DROP DEFAULT DROP CHECK 以上两种格式都不能删除字段, 也不能更改字段名, 所有修改是在字段一级 为了补充 这个功能, 引出第三种格式 格式 3:ALTER TABLE < 表名 1> [DROP [COLUMN]< 字段名 >] [SET CHECK < 表达式 >ERROR< 提示信息 > ] [DROP CHECK] [ADD PRIMARY KEY < 表达式 >TAG < 索引名 >[FOR< 表达式 >] ] [DROP PRIMARY KEY ] [ADD UNIQUE < 表达式 >[TAG < 索引名 >[FOR< 表达式 >]]] [DROP UNIQUE < 表达式 >] [ADD FOREIGN KEY < 表达式 > TAG < 索引名 >[FOR< 表达式 >]] REFERENCES < 表名 2>[TAG < 索引名 >] [DROP FOREIGN KEY TAG < 索引名 >[SAVE]] [RENAME [COLUMN] < 字段名 > TO < 新字段名 >] 1) 此格式可删除字段, 可修改字段名 ; 可定义 修改和删除表一级的有效性规则等 2)DROP [COLUMN] 字段名 : 删除指定的字段 3)SET CHECK < 表达式 > ERROR< 提示信息 >: 定义表一级的有效性规则 4)DROP CHECK: 删除表一级的有效性规则 5)ADD PRIMARY KEY < 表达式 >TAG < 索引名 >[FOR< 表达式 >]: 定义一个主索引项 6)DROP PRIMARY KEY: 删除主索引 7)ADD NUIQUE < 表达式 >[TAG < 索引名 > [FOR< 表达式 >]]: 定义一个候选索引 8)DROP UNIQUE < 表达式 >: 删除候选索引 9)ADD FOREIGN KEY < 表达式 >TAG < 索引名 >[FOR< 表达式 >]: 建立表之间的关系 10)RENAME [COLUMN] < 字段名 > TO < 新字段名 >: 修改字段的名称 例 4.77 使用 SQL 命令将 course 表中的 教师编号 字段名改为 授课教师 ALTER TABLE course RENAME 教师编号 TO 授课教师 例 4.78 使用 SQL 命令删除 score 表中的 学分 字段 ALTER TABLE score DROP 学分 例 4.79 使用 SQL 命令将 course 表的 课程名称 和 教师编号 定义为候选索引 ( 候

32 第 4 章结构化查询语言 SQL 149 选关键字 ), 索引名是 htt_sp ALTER TABLE score ADD NUIQUE 课程名称 + 教师编号 TAG htt_sp 例 4.80 使用 SQL 命令将 teacher 表的主索引删除 ALTER TABLE teacher DROP PRIMARY KEY 视图 1. 视图的概念及其定义 Visual FoxPro 中视图是一个虚拟的表, 可以把它看作是从表中派生出来的虚表 视图可 引用一个或多个表, 或者引用其他视图 视图依赖于表, 不独立存在 在关系数据库中, 视 图也称为窗口, 即视图是操作表的窗口 据 使用 SQL 命令定义视图的基本格式如下 : CREATE VIEW < 视图名 >[(< 字段名 1>[,< 字段名 2>] )]; AS SELECT 查询语句 1)SELECT 查询语句 : 可以是任意的 SELECT 查询语句, 由它说明该视图包含哪些数 2)[(< 字段名 1>[,< 字段名 2>] )]: 没有为视图指定字段名时, 视图的字段名将与 SELECT 查询中所指定的字段名同名 3) 视图是根据表定义或派生出来的, 所以在涉及视图时, 常把表称为基本表 4) 视图通常保存在数据库中, 在磁盘上找不到视图文件 例 4.81 使用 SQL 命令创建一个学生视图, 视图名为 student_view CREATE VIEW student_view AS SELECT * FROM student 询结果 1)student_view 是视图的名称, 视图中存放的内容为 AS 后面的 SELECT 查询语句的查 2) 视图一经定义, 就可以和基本表一样进行各种查询, 也可以进行一些修改操作 对 于最终用户来说, 有时并不需要知道操作的是基本表还是视图 如下例所示 : SELECT * FROM student_view 等价于 SELECT * FROM student 例 4.82 使用 SQL 命令建立一个视图 xuesheng_view, 要求该视图包含 1980 年 1 月 1 日之后出生的学生的学号 姓名 平均成绩 SELECT student. 学号, student. 姓名,AVG( 成绩 ) AS 平均成绩 ; FROM student,score; WHERE student. 学号 = score. 学号 AND 出生日期 >{^ }; GROUP BY score. 学号 2. 视图的删除视图由于是从表派生而来的, 所以不存在修改结构的问题, 但是视图可以删除 格式 :DROP VIEW < 视图名 > 例 4.83 使用 SQL 命令删除视图 xuesheng_view DROP VIEW xuesheng_view 注意 : 在关系数据库中, 视图始终不真正含有数据, 它总是原有表的一个窗口 所以, 虽然对视图可以像表一样进行各种查询, 但是插入 更新和删除操作在视图上却有一定限制

33 150 Visual FoxPro 程序设计 在一般情况下, 当一个视图是由单个表导出时可以进行插入和更新操作, 但不能进行删除操作 ; 当视图是从多个表导出时, 插入 更新和删除操作都不允许进行 习题四 一 选择题 1. 在 SQL 的 ALTER TABLE 语句中, 为了增加一个新的字段应该使用短语 ( ) A.CREATE B.APPEND C.COLUMN D.ADD 2. 查询 1978 年 10 月 27 日出生的职工信息的正确命令是 ( ) A.SELECT * FROM 职工 WHERE 出生日期 ={^ } B.SELECT * FROM 职工 WHERE 出生日期 = C.SELECT * FROM 职工 WHERE 出生日期 ="^ " D.SELECT * FROM 职工 WHERE 出生日期 =(" ") 3. 有以下 SQL SELECT 语句 SELECT * FROM stock; WHERE 单价 BETWEEN AND 与该语句等价的是 ( ) A.SELECT*FROM stock WHERE 单价 <=19.20.AND. 单价 >=15.76 B.SELECT*FROM stock WHERE 单价 <19.20.AND. 单价 >15.76 C.SELECT*FROM stock WHERE 单价 >=19.20.AND. 单价 <=15.76 D.SELECT*FROM stock WHERE 单价 >19.20.AND. 单价 < 设有关系 SC(SNO,CNO,GRADE), 其中 SNO CNO 分别表示学号 课程号 ( 两者均 为字符型 ),GRADE 表示成绩 ( 数值型 ), 若要把学号为 S101 的同学, 选修课程号为 C11, 成绩为 98 分的记录插到表 SC 中, 正确的语句是 ( ) A.INSERT INTO SC(SNO,CNO,GRADE)VALUES('S101 ', 'C11', '98') B.INSERT INTO SC(SNO,CNO,GRADE)VALUES(S101, C11, 98) C. INSERT ('S101', 'C11', '98') INTO SC D. INSERT INTO SC VALUES ('S101', 'C11',98) 5.SQL 的 SELECT 查询语句中的特殊运算符不包括 ( ) A.BETWEEN B.IN C.OR D.LIKE 6. 下列关于 SQL 的并运算, 说法不正确的是 ( ) A. 集合的差运算, 即 UNION, 是指将两个 SELECT 语句的查询结果通过合并运算合 并成一个查询结果 B. 集合的并运算, 即 UNION, 是指将三个以上的 SELECT 语句的查询结果通过合并 运算合并成一个查询结果 C. 进行并运算要求两上查询结果具有相同的字段的数据, 并且对应的字段的值要出 自同一个域 D. 两个查询结果要具有相同的数据类型和取值范围 7. 使用 SQL 语句从 student 表中查询所有姓孙的学生信息, 正确的命令是 ( ) A.SELECT * FROM student WHERE STR( 姓名,2)=" 孙 "

34 第 4 章结构化查询语言 SQL 151 B.SELECT * FROM student WHERE TRIM( 姓名,2)= " 孙 " C.SELECT * FROM student WHERE RIGHT( 姓名,2)= " 孙 " D.SELECT * FROM student WHERE LEFT( 姓名,2)= " 孙 " 8. 关于 SQL 嵌套查询的说法正确的是 ( ) A. 能对外层查询排序, 又能对内层查询排序 B. 能对外层查询排序, 不能对内层查询排序 C. 不能对外层查询排序, 只能对内层查询排序 D. 既不能对外层查询排序, 也不能对内层查询排序 9. 在 Visual FoxPro 中, 假设教师表 T( 教师号, 姓名, 性别, 职称, 研究生导师 ) 中, 性别是 C 型字段, 研究生导师是 L 型字段 若要查询 是研究生导师的女老师 信息, 那么 SQL 语句 SELECT * FROM T WHERE < 逻辑表达式 > 中的 < 逻辑表达式 > 应是 ( ) A. 研究生导师 AND 性别 = " 女 " B. 研究生导师 OR 性别 = " 女 " C. 性别 = " 女 " AND 研究生导师 =.F. D. 研究生导师 =.T. OR 性别 = 女第 10 到第 14 题基于学生表 S 和学生选课表 SC 两个数据库表, 它们的结构如下 : S( 学号, 姓名, 性别, 年龄 ), 其中学号 姓名和性别为 C 型字段, 年龄为 N 型字段 SC( 学号, 课程号, 成绩 ), 其中学号和课程号为 C 型字段, 成绩为 N 型字段 ( 初始为空值 ) 10. 查询学生选修课程成绩小于 60 分的学号, 正确的 SQL 语句是 ( ) A.SELECT DISTINCT 学号 FROM SC WHERE " 成绩 " <60 B.SELECT DISTINCT 学号 FROM SC WHERE 成绩 < "60" C.SELECT DISTINCT 学号 FROM SC WHERE 成绩 <60 D.SELECT DISTINCT " 学号 " FROM SC WHERE " 成绩 " < 查询学生表 S 的全部记录并存储于临时表文件 one 中的 SQL 命令是 ( ) A.SELECT * FROM 学生表 INTO CURSOR one B.SELECT * FROM 学生表 TO CURSOR one C.SELECT * FROM 学生表 INTO CURSOR DBF one D.SELECT * FROM 学生表 TO CURSOR DBF one 12. 查询成绩在 70 分至 85 分之间学生的学号 课程号和成绩, 正确的 SQL 语句是 ( ) A.SELECT 学号, 课程号, 成绩 FROM sc WHERE 成绩 BETWEEN 70 AND 85 B.SELECT 学号, 课程号, 成绩 FROM sc WHERE 成绩 >=70 OR 成绩 <=85 C.SELECT 学号, 课程号, 成绩 FROM sc WHERE 成绩 >=70 OR <=85 D.SELECT 学号, 课程号, 成绩 FROM sc WHERE 成绩 >=70 AND <= 查询有选课记录, 但没有考试成绩的学生的学号和课程号, 正确的 SQL 语句是 ( ) A.SELECT 学号, 课程号 FROM sc WHERE 成绩 = "" B.SELECT 学号, 课程号 FROM sc WHERE 成绩 = NULL C.SELECT 学号, 课程号 FROM sc WHERE 成绩 IS NULL D.SELECT 学号, 课程号 FROM sc WHERE 成绩 14. 查询选修 C2 课程号的学生姓名, 下列 SQL 语句中错误的是 ( ) A.SELECT 姓名 FROM S WHERE EXISTS; (SELECT * FROM SC WHERE 学号 =S. 学号 AND 课程号 = 'C2') B.SELECT 姓名 FROM S WHERE 学号 IN; (SELECT * FROM SC WHERE 课程号 = 'C2')

35 152 Visual FoxPro 程序设计 C.SELECT 姓名 FROM S JOIN ON S. 学号 =SC. 学号 WHERE 课程号 = 'C2' D.SELECT 姓名 FROM S WHERE 学号 =; (SELECT * FROM SC WHERE 课程号 = 'C2') 15. 使用 SQL 语句将 李平 的工资增加 300 元的语句是 ( ) A.REPLACE 教师 WITH 工资 = 工资 +300 WHERE 姓名 =" 李平 " B.UPDATE 教师 SET 工资 = 工资 +300 WHEN 姓名 =" 李平 " C.UPDATE 教师工资 WITH 工资 +300 WHERE 姓名 =" 李平 " D.UPDATE 教师 SET 工资 = 工资 +300 WHERE 姓名 =" 李平 " 二 填空题 1. 使用 SQL 语言的 SELECT 语句进行分组查询时, 如果希望去掉不满足条件的分组, 应当在 GROUP BY 用 子句 2.Visual FoxPro 中用于计算检索的函数有 5 个, 用于计数, 用于 求和, 用于求平均值, 用于求最大值, 用于求最小值 3. 设有 s( 学号, 姓名, 性别 ) 和 sc( 学号, 课程号, 成绩 ) 两个表, 下面 SQL 的 SELECT 语 句检索选修的每门课程的成绩都高于或等于 85 分的学生的学号 姓名和性别 SELECT 学号, 姓名, 性别 FROM s; WHERE ( SELECT * FROM sc WHERE sc. 学号 = s. 学号 AND 成绩 < 85 ) 4. 在 Visual FoxPro 中, 使用 SQL 的 SELECT 语句将查询结果存放到数组中的短语是 ; 将查询结果存放到临时表中的短语是 ; 将查询结果存放到表中的短语 是 5. 下面各题使用以下的 教师 表和 学院 表 教师 表 : 学院 表 : 职工号姓名职称年龄工资系号 肖天海副教授 王岩盐教授 刘星魂讲师 张月新讲师 李明玉教授 孙民山教授 钱无名教授 系号 系名 01 英语 02 会计 03 工商管理 (1) 使用 SQL 语句将一条新的记录插入学院表 INSERT 学院 ( 系号, 系名 ) ("04"," 计算机 ") (2) 使用 SQL 语句求 工商管理 系的所有职工的工资总和 SELECT ( 工资 ) FROM 教师 ; WHERE 系号 IN (SELECT 系号 FROM WHERE 系名 =" 工商管理 ") (3) 使用 SQL 语句完成如下操作 ( 将所有教授的工资提高 5%)

36 第 4 章结构化查询语言 SQL 153 教师 SET 工资 = 工资 *1.05 职称 =" 教授 " 6. 在 Visual FoxPro 中, 使用 SQL 语言的 ALTER TABLE 命令给学生表 student 增加一个 字段, 长度为 30, 命令是 ( 关键字必须拼写完整 ) ALTER TABLE student C(30) 7. 在 SQL SELECT 语句中为了将查询结果存储到临时表中, 应该使用 短语 8. 在 Visual FoxPro 中, 使用 SQL 的 CREATE TABLE 语句建立数据库表时, 使用 子句说明主索引 9.SELECT * FROM student FILE student 命令将查询结果存储在 student.txt 文 本文件中 10. 设有 SC( 学号, 课程号, 成绩 ) 表, 下面 SQL 的 SELECT 语句检索成绩高于或等于平均 成绩的学生的学号 SELECT 学号 FROM sc; WHERE 成绩 >=(SELECT FROM sc)

untitled

untitled Database System Principle Database System Principle 1 SQL 3.1 SQL 3.2-3.3 3.4 3.5 3.6 Database System Principle 2 3.1 SQL SQL Structured Query Language SQL Database System Principle 3 SQL 3.1.1 SQL 3.1.2

More information

Microsoft Word - 2006年9月二级VF真卷.doc

Microsoft Word - 2006年9月二级VF真卷.doc 机 密 启 用 前 2006 年 9 月 全 国 计 算 机 等 级 考 试 二 级 笔 试 试 卷 Visual FoxPro 数 据 库 程 序 设 计 27 注 意 事 项 一 考 生 应 严 格 遵 守 考 场 规 则, 得 到 监 考 人 员 指 令 后 方 可 作 答 二 考 生 拿 到 试 卷 后 应 首 先 将 自 己 的 姓 名 准 考 证 号 等 内 容 涂 写 在 答 题 卡

More information

单元四数据的查询 数据库原理与应用 课内例题 任务 5 多表查询 课内例题 例创建数据表 orders, 并向表中添加记录 首先创建表 orders,sql 语句如下 : CREATE TABLE orders( o_num int NOT NULL AUTO_INCREMENT, o_date d

单元四数据的查询 数据库原理与应用 课内例题 任务 5 多表查询 课内例题 例创建数据表 orders, 并向表中添加记录 首先创建表 orders,sql 语句如下 : CREATE TABLE orders( o_num int NOT NULL AUTO_INCREMENT, o_date d 任务 5 多表查询 课内例题 例创建数据表 orders, 并向表中添加记录 首先创建表 orders,sql 语句如下 : CREATE TABLE orders( o_num int NOT NULL AUTO_INCREMENT, o_date datetime NOT NULL, c_id int NOT NULL, PRIMARY KEY (o_num) ) ; 插入需要演示的数据,SQL

More information

精 品 库 我 们 的 都 是 精 品 _www.jingpinwenku.com (8) 数 据 库 数 据 库 系 统 和 数 据 库 管 理 系 统 之 问 的 关 系 是 ( ) A) 数 据 库 包 括 数 据 库 系 统 和 数 据 库 管 理 系 统 B) 数 据 库 系 统 包 括

精 品 库 我 们 的 都 是 精 品 _www.jingpinwenku.com (8) 数 据 库 数 据 库 系 统 和 数 据 库 管 理 系 统 之 问 的 关 系 是 ( ) A) 数 据 库 包 括 数 据 库 系 统 和 数 据 库 管 理 系 统 B) 数 据 库 系 统 包 括 更 多 内 容 请 查 看 精 品 文 库 网 www.jingpinwenku.com 全 国 计 算 机 等 级 考 试 全 真 模 拟 试 卷 (4) 二 级 Visual FoxPro ( 考 试 时 间 120 分 钟, 满 分 100 分 ) 一 选 择 题 ( 每 小 题 1 分, 共 40 分 )(1) 算 法 是 指 ( ) A) 计 算 机 程 序 B) 解 决 问 题 的 计

More information

Microsoft Word - 第五讲 SQL.DOC

Microsoft Word - 第五讲 SQL.DOC 第五章关系数据库标准语言 SQL 大纲要求 关系数据库标准语言 SQL 1 SQL 的数据定义功能 : (1) CREATE TABLE SQL (2) ALTER TABLE SQL 2 SQL 的数据修改功能 : (1) DELETE SQL (2) INSERT SQL (3) UPDATE SQL 3 SQL 的数据查询功能 : (1) 简单查询 (2) 嵌套查询 (3) 连接查询 内连接外连接

More information

2006年暑期工作安排

2006年暑期工作安排 应用数学学院信息与计算科学专业 2 班 学号 3116006715 姓名林泽坚教师评定 实验题目 SQL 综合查询实验 一 实验目的 使学生掌握 SQL Server 查询分析器的使用方法, 加深对 SQL 和 Transact-SQL 语言的查询语句的理解 熟练掌握简单表的数据查询 数据排序和数据联结查询的操作方法 ; 嵌套查询语句 ; 熟练掌握数据查询中的分组 统计 计算和组合的操作方法 并完成下面实验内容和要求

More information

PowerPoint Presentation

PowerPoint Presentation 5 数据查询 5.1 简单 SELECT 语句 5.2 SELECT 语句的统计功能 5.3 SELECT 语句中的多表连接 5.4 子查询 5.5 使用 SQL Server Management Studio 进行数据查询与维护 学习目标 通过本部分的学习, 应该掌握以下内容 数据查询的各种语句 运用 S QL S e rve r M a n a g e m e n t S t u d io 和基本的

More information

第1套

第1套 2010 年 3 月 全 国 计 算 机 等 级 考 试 二 级 笔 试 试 卷 Visual FoxPro 数 据 库 程 序 设 计 ( 考 试 时 间 90 分 钟, 满 分 100 分 ) 一 选 择 题 ( 每 小 题 2 分, 共 70 分 ) 下 列 各 题 A) B) C) D) 四 个 选 项 中, 只 有 一 个 选 项 是 正 确 的 请 将 正 确 选 项 涂 写 在 答 题

More information

第四章 关系数据库标准语言SQL.doc

第四章 关系数据库标准语言SQL.doc 第 4 章结构化查询语言 SQL 学习目标 在本章中将学习 : SQL 语言的特点及功能 SQL 的数据查询功能 SQL 的数据操作功能 SQL 的数据定义功能 4.1 SQL 语言概述 SQL 全称是 结构化查询语言 (Structured Query Language), 最早是 IBM 的圣约瑟研究实验室为其关系数据库管理系统 SYSTEM R 开发的一种查询语言, 它的前身是 SQUARE

More information

幻灯片 1

幻灯片 1 数据库系统概论 第三章关系数据库标准语言 SQL ( 续 1) 南京航空航天大学计算机学院 第三章关系数据库标准语言 SQL 3.1 SQL 概述 3.2 学生 - 课程数据库 3.3 数据定义 3.4 数据查询 3.5 数据更新 3.6 空值的处理 3.7 视图 3.8 小结 3.4 数据查询 3.4.1 单表查询 3.4.2 连接查询 3.4.3 嵌套查询 3.4.4 集合查询 3.4.5 基于派生表的查询

More information

ebook46-23

ebook46-23 23 Access 2000 S Q L A c c e s s S Q L S Q L S Q L S E L E C T S Q L S Q L A c c e s s S Q L S Q L I N A N S I Jet SQL S Q L S Q L 23.1 Access 2000 SQL S Q L A c c e s s Jet SQL S Q L U N I O N V B A S

More information

目錄 C ontents Chapter MTA Chapter Chapter

目錄 C ontents Chapter MTA Chapter Chapter 目錄 C ontents Chapter 01 1-1 MTA...1-2 1-2...1-3 1-3...1-5 1-4...1-10 Chapter 02 2-1...2-2 2-2...2-3 2-3...2-7 2-4...2-11...2-16 Chapter 03 3-1...3-2 3-2...3-8 3-3 views...3-16 3-4...3-24...3-33 Chapter

More information

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 月 3 日 1 1 INPUTOUTPUT 1 InputOutput 题目描述 用 cin 输入你的姓名 ( 没有空格 ) 和年龄 ( 整数 ), 并用 cout 输出 输入输出符合以下范例 输入 master 999 输出 I am master, 999 years old. 注意 "," 后面有一个空格,"." 结束,

More information

A) 属性 B) 键 C) 关系 D) 域 (11) 数据库 (DB) 数据库系统(DBS) 和数据库管理系统 (DBMS) 三者之间的关系是 ( ) A)DBS 包括 DB 和 DBMS B)DBMS 包括 DB 和 DBS C)DB 包括 DBS 和 DBMS D)DBS 就是 DB, 也就是

A) 属性 B) 键 C) 关系 D) 域 (11) 数据库 (DB) 数据库系统(DBS) 和数据库管理系统 (DBMS) 三者之间的关系是 ( ) A)DBS 包括 DB 和 DBMS B)DBMS 包括 DB 和 DBS C)DB 包括 DBS 和 DBMS D)DBS 就是 DB, 也就是 2009 年 3 月全国计算机等级考试二级笔试试卷 Visual FoxPro 数据库程序设计 ( 考试时间 90 分钟, 满分 100 分 ) 一 选择题 ( 每小题 2 分, 共 70 分 ) 下列各题 A) B) C) D) 四个选项中, 只有一个选项是正确的, 请将正确选项涂写在答题卡相应位置 上, 答在试卷上不得分 (1) 下列叙述中正确的是 ( ) A) 栈是 先进先出 的线性表 B)

More information

作业参考答案

作业参考答案 本章的知识点了解 SQL 语言发展史掌握关系数据库体系结构 三层结构在关系数据库体现 ) 掌握基本表定义 包括修改 删除定义 ) 掌握视图的概念与定义 删除定义理解索引的概念与定义 删除定义总结 SQL 数据定义的特点总结用户数据查询的基本结构掌握 SELECT 子句重复元组的处理掌握 FROM 子句掌握 WHERE 子句理解更名 属性 列 ) 运算理解字符串操作理解元组显示顺序理解分组掌握聚集函数掌握空值处理理解嵌套子查询的概念

More information

目錄

目錄 資 訊 素 養 線 上 教 材 單 元 五 資 料 庫 概 論 及 Access 5.1 資 料 庫 概 論 5.1.1 為 什 麼 需 要 資 料 庫? 日 常 生 活 裡 我 們 常 常 需 要 記 錄 一 些 事 物, 以 便 有 朝 一 日 所 記 錄 的 事 物 能 夠 派 得 上 用 場 我 們 能 藉 由 記 錄 每 天 的 生 活 開 銷, 就 可 以 在 每 個 月 的 月 底 知

More information

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM CHAPTER 6 SQL SQL SQL 6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM 3. 1986 10 ANSI SQL ANSI X3. 135-1986

More information

Microsoft Word - 第4章 单表查询—教学设计.doc

Microsoft Word - 第4章 单表查询—教学设计.doc 传智播客 MySQL 数据库入门 教学设计 课程名称 : MySQL 数据库入门 授课年级 : 2015 年级 授课学期 : 2015 学年第一学期 教师姓名 : 某某老师 2014 年 04 月 09 日 课题名称第 4 章单表查询 计划 学时 7 课时 内容分析教学目标及基本要求重点及措施 通过前面章节的学习, 我们知道如何对数据进行添加 修改 删除等操作 数据库还有一项重要的操作就是查询数据,

More information

untitled

untitled OO 1 SQL Server 2000 2 SQL Server 2000 3 SQL Server 2000 DDL 1 2 3 DML 1 INSERT 2 DELETE 3 UPDATE SELECT DCL 1 SQL Server 2 3 GRANT REVOKE 1 2 1 2 3 4 5 6 1 SQL Server 2000 SQL Server SQL / Microsoft SQL

More information

四川省普通高等学校

四川省普通高等学校 四 川 省 普 通 高 等 学 校 计 算 机 应 用 知 识 和 能 力 等 级 考 试 考 试 大 纲 (2013 年 试 行 版 ) 四 川 省 教 育 厅 计 算 机 等 级 考 试 中 心 2013 年 1 月 目 录 一 级 考 试 大 纲 1 二 级 考 试 大 纲 6 程 序 设 计 公 共 基 础 知 识 6 BASIC 语 言 程 序 设 计 (Visual Basic) 9

More information

幻灯片 1

幻灯片 1 沈 阳 工 业 大 学 2014 年 6 月 第 7 章 数 据 库 技 术 基 础 主 要 内 容 : 7.1 数 据 库 概 述 数 据 库 基 本 概 念 数 据 模 型 逻 辑 数 据 模 型 数 据 库 系 统 的 产 生 和 发 展 常 用 的 数 据 库 管 理 系 统 7.2 Access 2010 数 据 库 创 建 及 维 护 创 建 Access 2010 数 据 库 创 建

More information

PowerPoint Presentation

PowerPoint Presentation Skill-building Courses Intro to SQL Lesson 2 More Functions in SQL 通配符 :LIKE SELECT * FROM Products WHERE PName LIKE %gizmo% PName Price Category Manufacturer Gizmo $19.99 Gadgets GizmoWorks Powergizmo

More information

DB2 (join) SQL DB2 11 SQL DB2 SQL 9.1 DB2 DB2 ( ) SQL ( ) DB2 SQL DB2 DB2 SQL DB2 DB2 SQL DB2 ( DB2 ) DB2 DB2 DB2 SQL DB2 (1) SQL (2) S

DB2 (join) SQL DB2 11 SQL DB2 SQL 9.1 DB2 DB2 ( ) SQL ( ) DB2 SQL DB2 DB2 SQL DB2 DB2 SQL DB2 ( DB2 ) DB2 DB2 DB2 SQL DB2 (1) SQL (2) S 9 DB2 优化器 DB2 SQL select c1 c2 from ( DB2 )??? DB2?!?, no no DB2 I/O ( transrate overhead ) SQL DML (INSERT UPDATE DELETE) DB2 (access plan) DB2 (join) SQL DB2 11 SQL DB2 SQL 9.1 DB2 DB2 ( 728 747 ) SQL

More information

数 据 库 系 统 基 础 2/54 第 6 章 数 据 库 管 理 与 维 护

数 据 库 系 统 基 础 2/54 第 6 章 数 据 库 管 理 与 维 护 数 据 库 系 统 基 础 1/54 数 据 库 系 统 基 础 哈 尔 滨 工 业 大 学 2011.~2012. 数 据 库 系 统 基 础 2/54 第 6 章 数 据 库 管 理 与 维 护 数 据 库 系 统 基 础 3/54 第 6 章 数 据 库 管 理 与 维 护 6.1 数 据 库 管 理 员 的 基 本 职 责 6.2 数 据 库 存 储 与 性 能 管 理 6.3 数 据 库

More information

1-1 database columnrow record field 不 DBMS Access Paradox SQL Server Linux MySQL Oracle IBM Informix IBM DB2 Sybase 1-2

1-1 database columnrow record field 不 DBMS Access Paradox SQL Server Linux MySQL Oracle IBM Informix IBM DB2 Sybase 1-2 CHAPTER 1 Understanding Core Database Concepts 1-1 database columnrow record field 不 DBMS Access Paradox SQL Server Linux MySQL Oracle IBM Informix IBM DB2 Sybase 1-2 1 Understanding Core Database Concepts

More information

學 科 100% ( 為 單 複 選 題, 每 題 2.5 分, 共 100 分 ) 1. 請 參 閱 附 圖 作 答 : (A) 選 項 A (B) 選 項 B (C) 選 項 C (D) 選 項 D Ans:D 2. 下 列 對 於 資 料 庫 正 規 化 (Normalization) 的 敘

學 科 100% ( 為 單 複 選 題, 每 題 2.5 分, 共 100 分 ) 1. 請 參 閱 附 圖 作 答 : (A) 選 項 A (B) 選 項 B (C) 選 項 C (D) 選 項 D Ans:D 2. 下 列 對 於 資 料 庫 正 規 化 (Normalization) 的 敘 ITE 資 訊 專 業 人 員 鑑 定 資 料 庫 系 統 開 發 與 設 計 實 務 試 卷 編 號 :IDS101 注 意 事 項 一 本 測 驗 為 單 面 印 刷 試 題, 共 計 十 三 頁 第 二 至 十 三 頁 為 四 十 道 學 科 試 題, 測 驗 時 間 90 分 鐘 : 每 題 2.5 分, 總 測 驗 時 間 為 90 分 鐘 二 執 行 CSF 測 驗 系 統 -Client

More information

幻灯片 1

幻灯片 1 第三章 关系数据库标准语言 SQL 第三章 关系数据库标准语言 SQL 3.1 SQL 概述 3.2 学生 - 课程数据库 3.3 数据定义 3.4 数据查询 3.5 数据更新 3.6 空值的处理 3.7 视图 3.5 数 3.5.1 插入数据 据 更 3.5.2 修改数据 新 3.5.3 删除数据 3.5.1 插入数据 插入 元组 插入 子查询结果 ( 多个元组 ) 1. 插入元组 语句格式 INSERT

More information

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

幻灯片 1

幻灯片 1 数据库系统概论 第三章关系数据库标准语言 SQL ( 续 2) 南京航空航天大学计算机学院 第三章关系数据库标准语言 SQL 3.1 SQL 概述 3.2 学生 - 课程数据库 3.3 数据定义 3.4 数据查询 3.5 数据更新 3.6 空值的处理 3.7 视图 3.8 小结 3.5 数据更新 3.5.1 插入数据 3.5.2 修改数据 3.5.3 删除数据 3.5.1 插入数据 两种插入数据方式

More information

第三章 SQL语言

第三章 SQL语言 第三章 SQL 语言 1 SQL 语言概貌及特点 1. SQL 语言概述 1) SQL:Structured Query Language,2) 结构化查询语言 3) SEQUEL:Structured English Query language4) 一种介于关系代数与关系演算之间的语言 5) 成为关系数据库的标准语言 7) 支持 :System R SQL/DS Oracle Informix

More information

习题1

习题1 习 题 1 数 据 库 系 统 基 本 概 念 1.1 名 词 解 释 DB DB 是 长 期 存 储 在 计 算 机 内 有 组 织 的 统 一 管 理 的 相 关 数 据 的 集 合 DB 能 为 各 种 用 户 共 享, 具 有 较 小 冗 余 度 数 据 间 联 系 紧 密 而 又 有 较 高 的 数 据 独 立 性 等 特 点 DBMS 是 位 于 用 户 与 操 作 系 统 之 间 的

More information

44 Access 2010 数据库程序设计实验教程 图 3 2 简单查询向导二 2. 使用查询向导创建查询 ts2, 查询 tstud 表的 学号 姓名 字段, tcourse 表的 课程名 字段, tscore 表的 成绩 字段 打开 学生管理.accdb, 使用查询向导创建一个查询, 在 简单

44 Access 2010 数据库程序设计实验教程 图 3 2 简单查询向导二 2. 使用查询向导创建查询 ts2, 查询 tstud 表的 学号 姓名 字段, tcourse 表的 课程名 字段, tscore 表的 成绩 字段 打开 学生管理.accdb, 使用查询向导创建一个查询, 在 简单 第 3 章查询 实验一 选择查询 实验目的 掌握利用查询向导创建查询 掌握利用查询设计视图创建查询 掌握分组计算 数据来源 实验用数据库 / 第三章查询 / 实验一 / 学生管理.accdb 实验内容 1. 使用查询向导创建查询 ts1, 查询 tstud 表的 姓名 性别 入校时间 毕 业学校 字段 打开 学生管理.accdb, 使用查询向导创建一个查询, 在 简单查询向导 对话 框中选择 表 :tstud,

More information

赵松涛写作

赵松涛写作 第 4 章数据利器 SQL 本章通过实例的方法引导读者快速掌握 SQL 的使用, 从而能够利用 SQL Plus Worksheet 等工具, 使用标准 SQL 语言完成对数据库数据的日常管理工作 4.1 节介绍 SQL 的概念 主要特点 使用 SQL 的工具 SQL 如何访问数据表以及本书实例所使用的两个数据表 4.2 节介绍对单个数据表进行的查询操作 4.3 节介绍如何对多个数据表同时进行查询操作

More information

第二章 关系数据库

第二章 关系数据库 第三章关系数据库标准语言 SQL 本章内容 数据定义 数据查询 数据更新 数据库语言的编程 3.1 SQL 概述 SQL 的发展 1974 年, 由 Boyce 和 Chamberlin 提出 1975~1979,IBM San Jose Research Lab 的关系数据库管理系统原型 System R 实施了这种语言 SQL-86 是第一个 SQL 标准 SQL-89 SQL-92(SQL2)

More information

untitled

untitled http://idc.hust.edu.cn/~rxli/ 1.1 1.2 1.3 1.4 1.5 1.6 2 1.1 1.1.1 1.1.2 1.1.3 3 1.1.1 Data (0005794, 601,, 1, 1948.03.26, 01) (,,,,,) 4 1.1.1 Database DB 5 1.1.1 (DBMS) DDL ( Create, Drop, Alter) DML(

More information

Microsoft Word - 第4章 单表查询—样章.doc

Microsoft Word - 第4章 单表查询—样章.doc 第 4 章单表查询 学习目标 u 掌握简单查询, 会使用 SELECT 语句查询所有字段和指定的字段 u 掌握按条件查询, 会使用运算符以及不同的关键字进行查询 u 掌握高级查询, 会使用聚合函数查询 分组查询等 u 学会为表和字段起别名 通过前面章节的学习, 我们知道如何对数据进行添加 修改 删除等操作, 在数据库中还有一个更重要的操作就是查询数据, 查询数据是指从数据库中获取所需要的数据, 用户可以根据自己对数据的需求来查询不同的数据

More information

幻灯片 1

幻灯片 1 第三章 关系数据库标准语言 SQL 第三章 关系数据库标准语言 SQL 3.1 SQL 概述 3.2 学生 - 课程数据库 3.3 数据定义 3.4 数据查询 3.5 数据更新 3.6 空值的处理 3.7 视图 3.1 SQL 概述 SQL(Structured Query Language) 是关系数据库的标准语言 SQL 是一个通用的 功能极强的关系数据库语言 1.1 数据库系统概述 3.1 SQL

More information

基于UML建模的管理管理信息系统项目案例导航——VB篇

基于UML建模的管理管理信息系统项目案例导航——VB篇 PowerBuilder 8.0 PowerBuilder 8.0 12 PowerBuilder 8.0 PowerScript PowerBuilder CIP PowerBuilder 8.0 /. 2004 21 ISBN 7-03-014600-X.P.. -,PowerBuilder 8.0 - -.TP311.56 CIP 2004 117494 / / 16 100717 http://www.sciencep.com

More information

Microsoft PowerPoint - 05-SQL3-advanced.ppt

Microsoft PowerPoint - 05-SQL3-advanced.ppt SQL: Interactive Queries (2) Prof. Weining Zhang Cs.utsa.edu Aggregate Functions Functions that take a set of tuples and compute an aggregated value. Five standard functions: count, min, max, avg, sum

More information

SQL: Interactive Queries (2)

SQL: Interactive Queries (2) SQL: Interactive Queries (2) Prof. Weining Zhang Cs.utsa.edu Aggregate Functions Functions that take a set of tuples and compute an aggregated value. Five standard functions: count, min, max, avg, sum

More information

未命名

未命名 附录三 ADS- MySQL 基础语法偏表 类别语法偏类 MySQL 语法 ADS 语法备注 型 Utility DESCRIBE {DESCRIBE DESC} tbl_name [col_name wild] {DESCRIBE DESC} dbname.tbl_name EXPLAIN 负偏 {EXPLAIN} [explain_type] explainable_stmt {EXPLAIN}

More information

SQL Server 数据库 SQL 结构化查询语言 是本课程的重点, 要在熟悉语句的语法框架的前提下, 灵活地写出实现实际需求的 SQL 语句 本章的每个例子, 都要在附录 Student 数据库上加以上机练习与变换

SQL Server 数据库 SQL 结构化查询语言 是本课程的重点, 要在熟悉语句的语法框架的前提下, 灵活地写出实现实际需求的 SQL 语句 本章的每个例子, 都要在附录 Student 数据库上加以上机练习与变换 SQL Server 数据库 SQL 结构化查询语言 是本课程的重点, 要在熟悉语句的语法框架的前提下, 灵活地写出实现实际需求的 SQL 语句 本章的每个例子, 都要在附录 Student 数据库上加以上机练习与变换 1~2 Select 语句 SQL 语句不区分大小写 本章的 SQL 语句可在查询分析器 ( 推荐 ) 企业管理器 SQL 窗口里编辑 执行 从数据库中检索行, 并允许从一个或多个表中选择一个或多个行或列

More information

untitled

untitled -JAVA 1. Java IDC 20 20% 5 2005 42.5 JAVA IDC JAVA 60% 70% JAVA 3 5 10 JAVA JAVA JAVA J2EE J2SE J2ME 70% JAVA JAVA 20 1 51 2. JAVA SUN JAVA J2EE J2EE 3. 1. CSTP CSTP 2 51 2. 3. CSTP IT CSTP IT IT CSTP

More information

PowerPoint Presentation

PowerPoint Presentation Lesson 1 Intro to SQL Simple SQL Query Instructor Cici Graduated from Cornell University majored in Operations Research and Information Technology, with a minor in business. She is currently working as

More information

学生表 主键 : 学号 字段名称 数据字段必填允许空有效性规则类型大小字段字符串 学号 文本 10 是 否 姓名 文本 4 是 否 性别 文本 1 男 Or 女 是 否 籍贯 文本 10 出生日期 日期 / 时间 入学总分 数字 整型 >=0 And <=900 住校否 是 / 否 爱好特长 文本

学生表 主键 : 学号 字段名称 数据字段必填允许空有效性规则类型大小字段字符串 学号 文本 10 是 否 姓名 文本 4 是 否 性别 文本 1 男 Or 女 是 否 籍贯 文本 10 出生日期 日期 / 时间 入学总分 数字 整型 >=0 And <=900 住校否 是 / 否 爱好特长 文本 Access 软件操作实验 一 实验目的 1. 掌握创建 使用数据库的方法 2. 掌握创建 使用表的方法 3. 掌握设置主键的方法 4. 掌握创建表间关系的基本操作 5. 掌握导入外部数据的基本操作 6. 掌握通过向导或设计器创建选择查询的方法 7. 掌握在查询中使用条件 执行计算的方法 8. 掌握通过使用 SQL 语句实现查询的方法 二 实验内容 1. 创建文件名为 Student.accdb 的数据库

More information

长 安 大 学 硕 士 学 位 论 文 基 于 数 据 仓 库 和 数 据 挖 掘 的 行 为 分 析 研 究 姓 名 : 杨 雅 薇 申 请 学 位 级 别 : 硕 士 专 业 : 计 算 机 软 件 与 理 论 指 导 教 师 : 张 卫 钢 20100530 长安大学硕士学位论文 3 1 3系统架构设计 行为分析数据仓库的应用模型由四部分组成 如图3 3所示

More information

Microsoft Word - 新正文4041.doc

Microsoft Word - 新正文4041.doc 第 3 章关系数据库标准语言 SQL 本章导读本章主要讨论具有关系代数和关系演算二者优点的关系数据库标准语言 SQL SQL 是国际化标准组织通过的关系数据库的标准语言, 目前, 几乎所有的关系数据库如 Oracle SQL Server My SQL Access 等都支持标准语言 SQL 它是实现数据库操作的一个最常用的途径, 即使是在应用程序中, 对数据库的操作也是通过嵌入到语句中的 SQL

More information

74 Access 2010 数 据 库 程 序 设 计 教 程 4.1.1 查 询 的 功 能 概 括 来 说 查 询 具 有 以 下 几 个 功 能 : (1) 选 择 字 段 记 录 (2) 统 计 分 析 与 计 算 数 据 (3) 编 辑 记 录 和 建 立 新 表 (4) 用 来 作 为

74 Access 2010 数 据 库 程 序 设 计 教 程 4.1.1 查 询 的 功 能 概 括 来 说 查 询 具 有 以 下 几 个 功 能 : (1) 选 择 字 段 记 录 (2) 统 计 分 析 与 计 算 数 据 (3) 编 辑 记 录 和 建 立 新 表 (4) 用 来 作 为 第 4 章 查 询 教 学 目 的 掌 握 查 询 的 类 型 和 条 件 掌 握 选 择 查 询 掌 握 在 查 询 中 进 行 计 算 掌 握 交 叉 表 查 询 掌 握 参 数 查 询 掌 握 操 作 查 询 熟 悉 SQL 查 询 掌 握 编 辑 和 修 改 查 询 知 识 要 点 运 算 符 函 数 和 表 达 式 查 询 向 导 与 查 询 设 计 视 图 带 条 件 查 询 与 不 带

More information

Microsoft Word - CH04.doc

Microsoft Word - CH04.doc 第 4 章 关系数据库标准语言 SQL 教学目标 : 通过本章学习, 了解 SQL 语言的主要功能及特点 ; 掌握 SQL 的数据定义 数据查询 数据更新及数据控制功能, 能够灵活运用数据查询语句 SELECT 教学要求 : 知识要点 能力要求 相关知识 SQL 语言概述 (1) 能够理解 SQL 的主要功能及特点 (1) SQL 的主要功能及特点 (2) 能够对 SQL 支持的三级模式结构达到认知的

More information

Microsoft Word - 2008年4月二级VF真卷.doc

Microsoft Word - 2008年4月二级VF真卷.doc 机 密 启 用 前 2008 年 4 月 全 国 计 算 机 等 级 考 试 二 级 笔 试 试 卷 Visual FoxPro 数 据 库 程 序 设 计 27 注 意 事 项 一 考 生 应 严 格 遵 守 考 场 规 则, 得 到 监 考 人 员 指 令 后 方 可 作 答 二 考 生 拿 到 试 卷 后 应 首 先 将 自 己 的 姓 名 准 考 证 号 等 内 容 涂 写 在 答 题 卡

More information

5. 下列条件子句中, 能够筛选出价格不在 ( 不包括边界值 ) 的是 ( ) A. Where 价格 NOT BETWEEN 100 AND 200 B. Where 价格 BETWEEN NOT 100 AND 200 C. Where 价格 NOT BETWEEN 101 AND

5. 下列条件子句中, 能够筛选出价格不在 ( 不包括边界值 ) 的是 ( ) A. Where 价格 NOT BETWEEN 100 AND 200 B. Where 价格 BETWEEN NOT 100 AND 200 C. Where 价格 NOT BETWEEN 101 AND 试卷代号 :1256 座位号 rn 国家开放大学 ( 中央广播电视大学 )2014 年秋季学期 " 开放本科 " 期末考试 数据库应用技术试题 2015 年 1 月 国 四厅万 1 1 一 单项选择题 ( 每个题只有一个答案是正确的, 请将正确的答案填 写到括号内 本题共 15 个小题, 每小题 2 分, 共 30 分 ) 1. 下列属于数据模型三要素的是 ( ) A. 数据库 数据库管理系统和操作系统

More information

管理数据库复习题

管理数据库复习题 管理数据库复习题 一. 单项选择 ( 在每小题的四个备选答案中, 选出一个正确的答案, 将其标号填入括 号内 每题 1 分, 共 30 分 ) 1. 是存储在计算机内有结构的数据的集合 A. 数据库系统 B. 数据库 C. 数据库管理系统 D. 数据结构 2. 数据库系统与文件系统的主要区别是 A. 数据库系统复杂, 而文件系统简单 B. 文件系统不能解决数据冗余和数据独立性问题, 而数据库系统可以解决

More information

123

123 資 訊 管 理 系 資 料 庫 教 學 帄 台 MTA 資 料 庫 國 際 證 照 題 庫 分 析 指 導 教 授 : 馮 曼 琳 教 授 組 員 名 單 : 陳 雅 紋 學 號 998C030 蔡 宥 為 學 號 998C114 陳 韋 婷 學 號 998C168 中 華 民 國 一 零 三 年 五 月 I 誌 謝 本 專 題 報 告 得 以 順 利 完 成, 首 先 要 感 謝 恩 師 馮 曼

More information

R D B M S O R D B M S R D B M S / O R D B M S R D B M S O R D B M S 4 O R D B M S R D B M 3. ORACLE Server O R A C L E U N I X Windows NT w w

R D B M S O R D B M S R D B M S / O R D B M S R D B M S O R D B M S 4 O R D B M S R D B M 3. ORACLE Server O R A C L E U N I X Windows NT w w 1 1.1 D B M S To w e r C D 1. 1 968 I B M I M S 2 0 70 Cullinet Software I D M S I M S C O D A S Y L 1971 I D M S containing hierarchy I M S I D M S I M S I B M I M S I D M S 2 2. 18 R D B M S O R D B

More information

幻灯片 1

幻灯片 1 数据库系统原理 Database System Principles 四川大学计算机学院 段磊 leiduan@scu.edu.cn 2014.9 第三章关系数据库标准语言 SQL SQL 是 Structured Query Language 的缩写 最新的标准是 SQL2003 使用最广的标准是 SQL99 包含了很多核心 SQL 以外的包 增加对递归查询 临时视图的支持 增加对触发器的支持 现在商品化

More information

课程名称:数据库系统概论

课程名称:数据库系统概论 数据库系统概论 第三章关系数据库标准语言 SQL(I) 兴义民族师范学院 第三章关系数据库标准语言 SQL 3.1 SQL 概述 3.2 学生 - 课程数据库 3.3 数据定义 3.4 数据查询 3.5 数据更新 3.6 视图 3.7 小结 3.1 SQL 概述 SQL(Structured Query Language) 结构化查询语言, 是关系数据库的标准语言 SQL 是一个通用的 功能极强的关系数据库语言

More information

CSS201.mps

CSS201.mps 第 章 SQL 基础 学习目标 瞯掌握 SQL 的概念, 了解其发展历程和特点 瞯掌握 SQL 中的数据定义 数据查询和数据更新功能及基本命令格式 内容框架 SQL 是数据库应用系统开发过程中必然会用到的技术, 所以, 在开发数据库应用之前必须掌 握 SQL 的具体命令和用法 本章将对 SQL 的各种命令进行详细介绍 3.1 SQL 概述 SQL( Structured Query Language,

More information

数据库原理及应用试题

数据库原理及应用试题 数据库原理及应用试题 一. 单项选择 1. 按照所使用的数据模型来分, 数据库可分为 三种模型 A. 网状, 环状和层次 B. 网状, 关系和链状 C. 层次, 关系和网状 D. 层次, 链状和网状 2. 数据库的体系结构由 来组织 A. 数据库, 文件, 记录 B. 模式, 外模式, 内模式 C. 物理级数据库, 信息级 D. 文件级, 记录级, 数据级 3. 的数据独立性最高 A. 文件系统 B.

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 MySQL 初学者入门 汪伟华 课程介绍 MySQL 数据库 简单介绍 多平台安装 (Windows, Linux) MySQL 表的建立及查询 表的建立 增删改查及范围查询 MySQL 表设计 主外键建立 NOT NULL, AUTO_INCREMENT 等表列定义 课程建议 我应该做什么 实验, 实验, 实验!!! 多进行尝试, 不要怕犯错, 切勿半途而废 我不应该做什么 不要跳过视频 不要停止你的学习步伐

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

ChinaBI企业会员服务- BI企业

ChinaBI企业会员服务- BI企业 商业智能 (BI) 开源工具 Pentaho BisDemo 介绍及操作说明 联系人 : 杜号权苏州百咨信息技术有限公司电话 : 0512-62861389 手机 :18616571230 QQ:37971343 E-mail:du.haoquan@bizintelsolutions.com 权限控制管理 : 权限控制管理包括 : 浏览权限和数据权限 ( 权限部分两个角色 :ceo,usa; 两个用户

More information

sql> startup mount 改变数据库的归档模式 sql> alter database archivelog # 打开数据库 sql> alter database open 禁止归档模式 sql> shutdown immediate sql>startup mount sql> al

sql> startup mount 改变数据库的归档模式 sql> alter database archivelog # 打开数据库 sql> alter database open 禁止归档模式 sql> shutdown immediate sql>startup mount sql> al RMAN sql> sqlplus / as sysdba 查看数据库版本 sql> select * from v$version; 查看数据库名称 sql> show parameter db_name; 一 使用 RMAN 时, 需要将数据库设置成归档模式 sql> conn / as sysdba; sql> show user 查看数据库是否为归档模式 sql> archive log list

More information

epub 61-6

epub 61-6 6 We b 6.1 6.1.1 R e c o r d s e t 6-1 6-1 6.1.2 166 Dreamweaver UltraDev 6-2 6-2 6-3 3 6-3 I I S 6 167 Tr a i n M i s 6-4 6-4 6.1.3 10 000 1 K 10 000K 10 M 6-5 Dreamweaver UltraDev Repeat Region 6-5 168

More information

Microsoft Word - 第5章.doc

Microsoft Word - 第5章.doc 第 5 章 数据的基本操作 通过第 4 章表的基本操作, 用户明确了创建表的目的是为了利用表存储和管理数据 本章将首先介绍关系运算的基础知识, 然后在第 4 章建立的如图 5-1 所示的 学生选课管理信息系统 的 student 数据库用户表的基础上讲述数据的基本操作 数据的操作主要包括数据库表中数据的增加 修改 删除和查询操作 查询是数据操作的重点, 是用户必须重点掌握的数据操作技术 图 5-1

More information

PowerPoint Presentation

PowerPoint Presentation 数 据 库 培 训 项 目 研 究 Oracle 索 引 探 究 B*tree 索 引 与 位 图 索 引 的 特 点 作 者 : 赵 超 2008 年 12 月 18 日 实 验 环 境 Windows-server2003 内 存 :2G Oracle 10.2.0 ORACLE_SID=orcl 索 引 类 型 B*tree 索 引 ( 默 认 方 式 ) 位 图 索 引 (bitmap) 反

More information

untitled

untitled 1 Access 料 (1) 立 料 [] [] [ 料 ] 立 料 Access 料 (2) 料 [ 立 料 ] Access 料 (3) 料 料 料 料 料 料 欄 ADO.NET ADO.NET.NET Framework 類 來 料 料 料 料 料 Ex MSSQL Access Excel XML ADO.NET 連 .NET 料.NET 料 料來 類.NET Data Provider

More information

通过Hive将数据写入到ElasticSearch

通过Hive将数据写入到ElasticSearch 我在 使用 Hive 读取 ElasticSearch 中的数据 文章中介绍了如何使用 Hive 读取 ElasticSearch 中的数据, 本文将接着上文继续介绍如何使用 Hive 将数据写入到 ElasticSearch 中 在使用前同样需要加入 elasticsearch-hadoop-2.3.4.jar 依赖, 具体请参见前文介绍 我们先在 Hive 里面建个名为 iteblog 的表,

More information

第三章关系数据库标准语言 SQL 3.1 SQL 概述 3.2 学生 - 课程数据库 3.3 数据定义 3.4 数据查询 3.5 数据更新 3.6 视图 3.7 小结

第三章关系数据库标准语言 SQL 3.1 SQL 概述 3.2 学生 - 课程数据库 3.3 数据定义 3.4 数据查询 3.5 数据更新 3.6 视图 3.7 小结 数据库系统概论 第三章关系数据库标准语言 SQL 第三章关系数据库标准语言 SQL 3.1 SQL 概述 3.2 学生 - 课程数据库 3.3 数据定义 3.4 数据查询 3.5 数据更新 3.6 视图 3.7 小结 3.1 SQL 概述 SQL(Structured Query Language) 结构化查询语言, 是关系数据库的标准语言 SQL 是一个通用的 功能极强的关系数据库语言 SQL 概述

More information

2 SQL 的全称是 3 DDL 的全称是 4 DML 的全称是 5 在 Transact---SQL 语言中, 有 4 种常见的 DML 语句, 分别为 : 和 三 问答题 ( 每题 10 分 ) 1. 在 course 表中查询每个学生的选修课门数, 只要显示学号在 到 000

2 SQL 的全称是 3 DDL 的全称是 4 DML 的全称是 5 在 Transact---SQL 语言中, 有 4 种常见的 DML 语句, 分别为 : 和 三 问答题 ( 每题 10 分 ) 1. 在 course 表中查询每个学生的选修课门数, 只要显示学号在 到 000 第一套题 : 信阳农林学院 一 选择题 ( 每题 4 分, 共 20 分 ) 1 数据库的英文缩写是 ( ) A DBS B DBMS C DBO D DB 2 数据库系统的英文缩写是 ( ) A DBS B DBMS C DBO D DB 3 数据库管理系统的英文缩写是 ( ) A DBS B DBMS C DBO D DB 4 目前, 商品化的数据库管理系统以 ( ) 为主 A 网状模型 B 层次模型

More information

ZENworks 11 SP4

ZENworks 11 SP4 ZENworks 11 SP4 2015 年 7 月 本 自 述 文 件 中 的 信 息 与 Novell ZENworks 11 Support Pack 4 版 本 相 关 第 1 节 安 装 ( 第 1 页 ) 第 2 节 计 划 升 级 到 ZENworks 11 SP4 ( 第 1 页 ) 第 3 节 升 级 ( 第 2 页 ) 第 4 节 新 功 能 ( 第 2 页 ) 第 5 节 ZENworks

More information

季刊9web.indd

季刊9web.indd 在 全 国 现 场 会 上 成 功 展 示 全 国 烟 叶 收 购 暨 现 代 烟 草 农 业 建 设 现 场 会 7 月 6 日 至 8 日 在 昆 明 召 开 在 国 家 局 的 领 导 下, 由 我 司 技 术 开 发 的 烟 站 ( 单 元 ) 烟 叶 管 理 信 息 系 统 在 现 场 会 上 成 功 展 示, 并 得 到 参 会 领 导 及 代 表 们 的 关 注 与 认 可 该 系 统

More information

项目 3 创建和管理表 任务实现 Office Visio PK 3 FK FK1 3.1 相关知识 SQL Server 一 制订表规划 1. 表要存储什么对象 2. 表中每一列的数据类型和长度 059

项目 3 创建和管理表 任务实现 Office Visio PK 3 FK FK1 3.1 相关知识 SQL Server 一 制订表规划 1. 表要存储什么对象 2. 表中每一列的数据类型和长度 059 项目 3 创建和管理表 表是数据库中最重要的基础对象 它包含数据库中的所有数据 其他数据库对象 例如索引和视图等 都是依赖于表而存在的 若要使用数据库来存储和组织数据 首先就需要创建表 在本项目中将通过 15 个任务来创建和管理表 主要内容包括表的设计 理解 SQL Server 2008 中的数据类型 以及创建和修改表等 任务 1 表的设计 任务描述 Office Visio 3.1 3.1 项目

More information

教 学 目 标 描 述 主 要 数 据 库 对 象 创 建 表 描 述 列 定 义 时 可 用 的 数 据 类 型 改 变 表 的 定 义 删 除 改 名 和 截 断 表 描 述 每 个 DML 语 句 插 入 行 到 表 中 更 新 表 中 的 行 从 表 中 删 除 行 描 述 约 束 创 建

教 学 目 标 描 述 主 要 数 据 库 对 象 创 建 表 描 述 列 定 义 时 可 用 的 数 据 类 型 改 变 表 的 定 义 删 除 改 名 和 截 断 表 描 述 每 个 DML 语 句 插 入 行 到 表 中 更 新 表 中 的 行 从 表 中 删 除 行 描 述 约 束 创 建 2 第 二 讲 创 建 和 管 理 表 与 简 单 记 录 操 作 Copyright SWFC-CISC, 2013. All rights reserved. 教 学 目 标 描 述 主 要 数 据 库 对 象 创 建 表 描 述 列 定 义 时 可 用 的 数 据 类 型 改 变 表 的 定 义 删 除 改 名 和 截 断 表 描 述 每 个 DML 语 句 插 入 行 到 表 中 更 新 表

More information

Microsoft Word - WJ01.doc

Microsoft Word - WJ01.doc 第一部分 Visual FoxPro 实验与实训 第 1 章 Visual FoxPro 数据库系统 实验一熟悉 Visual FoxPro 6.0 环境 实验目的 1. 了解 Visual FoxPro 软件的安装过程, 掌握 Visual FoxPro 的安装方法 2. 掌握 Visual FoxPro 应用程序窗口的各组成部分, 并能熟练使用 实验内容 1. Visual FoxPro 的安装

More information

试卷代号 : 座位号 E 口 中央广播电视大学 学年度第一学期 " 开放本科 " 期末考试 数据库应用技术试题 题号 一 二 三 l 四 五 总分 分数 I I I I I I I 2013 年 1 月 得分 评卷人 I I I 一 单项选择题 { 每

试卷代号 : 座位号 E 口 中央广播电视大学 学年度第一学期  开放本科  期末考试 数据库应用技术试题 题号 一 二 三 l 四 五 总分 分数 I I I I I I I 2013 年 1 月 得分 评卷人 I I I 一 单项选择题 { 每 试卷代号 : 1 2 5 6 座位号 E 口 中央广播电视大学 2 0 1 2-2 0 1 3 学年度第一学期 " 开放本科 " 期末考试 数据库应用技术试题 题号 一 二 三 l 四 五 总分 分数 I I I I I I I 2013 年 1 月 得分 评卷人 I I I 一 单项选择题 { 每个题只有 - 个答案是正确的 每题 2 分, 共 1 5 题, 3 0 分 } 1. 下列属于数据库模式的范畴是

More information

Microsoft Word A.doc

Microsoft Word A.doc 科目代码 : 834 科目名称 : 数据库原理及应用 南京航空航天大学 2018 年硕士研究生入学考试初试试题 ( A 卷 ) 满分 : 150 注意 : 1 认真阅读答题纸上的注意事项 ;2 所有答案必须写在答题纸上, 写在本试题纸或草稿纸上均无 效 ;3 本试题纸须随答题纸一起装入试题袋中交回! 分 一 单项选择题 (20 题, 每题 2 分, 共 40 分 ) 1. 下列关于数据库管理系统的叙述中,

More information

设计模式 Design Patterns

设计模式 Design Patterns 丁勇 Email:18442056@QQ.com 学习目标 掌握 HQL 查询 掌握 Criteria 查询 为什么使用 HQL 如何使用 Hibernate 查询所有房屋信息? SQL 语句 : select * from tbl_fwxx Hibernate 中如何实现查询 HQL Hibernate Query Lanuage Hibernate 查询语言 如何使用 HQL 使用 HQL 的四步

More information

Microsoft Word - 扉页.doc

Microsoft Word - 扉页.doc ( 三 级 信 息 管 理 技 术 ) 全 国 计 算 机 等 级 考 试 命 题 研 究 中 心 内 容 提 要 本 书 紧 扣 国 家 教 育 部 考 试 中 心 2004 年 制 定 的 最 新 全 国 计 算 机 等 级 考 试 大 纲, 在 深 入 研 究 近 几 年 全 国 计 算 机 等 级 考 试 真 题 的 基 础 上 编 写 而 成 本 书 的 编 写 特 点 是 10+3, 即

More information

第四章 102 图 4唱16 基于图像渲染的理论基础 三张拍摄图像以及它们投影到球面上生成的球面图像 拼图的圆心是相同的 而拼图是由球面图像上的弧线图像组成的 因此我 们称之为同心球拼图 如图 4唱18 所示 这些拼图中半径最大的是圆 Ck 最小的是圆 C0 设圆 Ck 的半径为 r 虚拟相机水平视域为 θ 有 r R sin θ 2 4畅11 由此可见 构造同心球拼图的过程实际上就是对投影图像中的弧线图像

More information

6. 下列符合第三范式的关系是 ( ) A. 零件 ( 零件编号, 零件名称, 零件重量, 生产零件的车间名, 零件储存的仓库名 B. 零件 ( 零件编号, 零件名称, 零件重量, 零件储存的仓库编号 ) C. 仓库 ( 仓库编号, 主任姓名, 电话, 储存的零件 ) D. 仓库 ( 仓库编号, 主

6. 下列符合第三范式的关系是 ( ) A. 零件 ( 零件编号, 零件名称, 零件重量, 生产零件的车间名, 零件储存的仓库名 B. 零件 ( 零件编号, 零件名称, 零件重量, 零件储存的仓库编号 ) C. 仓库 ( 仓库编号, 主任姓名, 电话, 储存的零件 ) D. 仓库 ( 仓库编号, 主 试卷代号 : 1 2 5 6 座位号亡口 中央广播电视大学 2 0 0 9-2 0 1 0 学年度第一学期 " 开放本科 " 期未考试 数据库应用技术试题 题号 I - I 二 l 三 l 四 五 l 总分 1 分数 I I I I I 0 I I 2010 年 1 月 得分 l 评卷人 一 单项选择题 ( 每个题只有一个答案是正确的 每题 2 分, 共 1 5 I I _ I 题, 3 0 分 }

More information

4. 设有学生表 ( 学号, 姓名, 所在系, 身份证号 ) 和系表 ( 系名, 系办公地点儿下列关于两个 表的引用关系的描述, 正确的是 ( ) A. 设置学生表中的 " 所在系 " 为外键 B. 设置系表中的 " 系名 " 为外键 C. 设置学生表的学号为主键 D. 元法表达这两个表的引用关系

4. 设有学生表 ( 学号, 姓名, 所在系, 身份证号 ) 和系表 ( 系名, 系办公地点儿下列关于两个 表的引用关系的描述, 正确的是 ( ) A. 设置学生表中的  所在系  为外键 B. 设置系表中的  系名  为外键 C. 设置学生表的学号为主键 D. 元法表达这两个表的引用关系 试卷代号 :1256, 国家开放大学 ( 中央广播电视大学 )2015 年秋季学期 " 开放本科 " 期末气 数据库应用技术试题 得分 评卷人 li I 2016 年 1 月一分一一-治一一一E 一J 山一 一一一一 单项选择题 { 每个题只有一个答案是正确的, 请将正确的答案填 写到括号内 本题共 20 个小题, 每小题 2 分, 共 40 分 ) 1. 下列属于数据模型三要素的是 ( ) A.

More information

幻灯片 1

幻灯片 1 子查询 Copyright Oracle Corporation, 2001. All rights reserved. 进度表 : 时间 主题 25 分钟 讲演 30 分钟 练习 55 分钟 总共 中国科学院西安网络中心 2005 Oracle SQL 入门 6-1 目标 完成本课后, 您应当能够执行下列操作 : 描述字查询能够解决的问题类型 定义子查询 列出子查询的类型 写单行和多行子查询 6-2

More information

第二章 关系数据库

第二章 关系数据库 第二章关系数据库 本章内容 针对关系数据模型的三要素进行论述 1. 数据结构 2. 数据操作 3. 数据的完整性约束条件 2.1 关系数据模型概述 关系数据库, 是建立在关系数据模型基础上的数据库系统 关系系统基于关系模型, 关系模型又是基于数学方面的数据抽象理论 关系数据库, 用数学的方法来处理数据库中的数据 关系数据模型 E.F.Codd,1970 年提出关系模型理论 大型共享数据库数据的关系模型

More information

课程名称:数据库系统概论

课程名称:数据库系统概论 数据库系统概论 第二章关系数据库 (III) 兴义民族师范学院 第二章关系数据库 2.1 关系模型概述 2.2 关系数据结构 2.3 关系的完整性 2.4 关系代数 2.5 关系演算 2.6 小结 2.5 关系演算 关系演算以数理逻辑中的谓词演算为基础 按谓词变元不同进行分类 1. 元组关系演算 : 以元组变量作为谓词变元的基本对象元组关系演算语言 ALPHA 2. 域关系演算 : 以域变量作为谓词变元的基本对象域关系演算语言

More information

目錄... ivv...vii Chapter DETECT

目錄... ivv...vii Chapter DETECT ... ivv...vii Chapter 1 1.1... 5 1.2... 6 1.3 DETECT... 11 1.3.1... 12 1.3.1.1...12 1.3.1.2...13 1.3.1.3...14 1.3.1.4...15 1.3.1.5...15 1.3.1.6...16 1.3.2 DETECT... 17 1.3.3... 19 1.3.4... 20... 22 Chapter

More information

目 录(目录名)

目  录(目录名) 目录 目录...1-1 1.1 域名解析配置命令... 1-1 1.1.1 display dns domain... 1-1 1.1.2 display dns dynamic-host... 1-1 1.1.3 display dns server... 1-2 1.1.4 display ip host... 1-3 1.1.5 dns domain... 1-4 1.1.6 dns resolve...

More information

学习情境 4 关系数据库标准语言 SQL 159 子学习情境一 认识 SQL 语言 任务一 SQL 语言的产生与发展 SQL(Structured Query Language) 语言是 1974 年由 Boyce 和 Chamberlin 提出的 1975 年至 1979 年 IBM 公司 San

学习情境 4 关系数据库标准语言 SQL 159 子学习情境一 认识 SQL 语言 任务一 SQL 语言的产生与发展 SQL(Structured Query Language) 语言是 1974 年由 Boyce 和 Chamberlin 提出的 1975 年至 1979 年 IBM 公司 San 学习情境 4 关系数据库标准语言 SQL 学习情境 4 关系数据库标准语言 SQL 情境描述 SQL 是高级的非过程化编程语言, 是沟通数据库服务器和客户端的重要工具, 允许用户在高层数据结构上工作 它不要求用户指定对数据的存放方法, 也不需要用户了解具体的数据存放方式, 所以, 具有完全不同底层结构的不同数据库系统可以使用相同的 SQL 语言作为数据输入与管理的 SQL 接口 它以记录集合作为操作对象,

More information

Oracle 4

Oracle 4 Oracle 4 01 04 Oracle 07 Oracle Oracle Instance Oracle Instance Oracle Instance Oracle Database Oracle Database Instance Parameter File Pfile Instance Instance Instance Instance Oracle Instance System

More information

Business Objects 5.1 Windows BusinessObjects 1

Business Objects 5.1 Windows BusinessObjects 1 Business Objects 5.1 Windows BusinessObjects 1 BusinessObjects 2 BusinessObjects BusinessObjects BusinessObjects Windows95/98/NT BusinessObjects Windows BusinessObjects BusinessObjects BusinessObjects

More information

数据库原理及应用试题

数据库原理及应用试题 数据库原理及应用 ( 管理类 ) 复习题 一 单项选择题 1. 每个教师可以教授多门课程, 每门课程至少有两名教师任课, 从课程到教师之间的联系 类型是 A. 多对多 B. 一对一 C. 多对一 D. 一对多 2. 关系模式中各级范式之间的关系为 A.3NF 2NF 1NF B.3NF 1NF 2NF C.1NF 3NF 2NF D.2NF 1NF 3NF 3. 数据库中只存放视图的 A. 操作 B.

More information

Microsoft Word - 01.doc

Microsoft Word - 01.doc 1. 数据库系统的核心是 ( ) A. 数据库 B. 操作系统 C. 文件 D. 数据库管理系统 2. 数据模型是 ( ) 的集合 A. 文件 B. 记录 C. 数据 D. 记录及其联系 3. 数据库系统的组成包括 ( ) A. 数据库 DBMS 和数据库管理员 B. 数据库 DBMS 硬件 软件 C.DBMS 硬件 软件和数据库 D. 数据库 硬件 软件和数据库管理员 4.Visual FoxPro

More information

Microsoft PowerPoint - Ch6

Microsoft PowerPoint - Ch6 第 六 章 基 本 的 SQL 目 的 SQL 的 關 聯 模 式 SQL 的 資 料 定 義 語 言 CREATE TABLE DROP TABLE ALTER TABLE 基 本 的 SQL 查 詢 SELECT FROM WHERE SQL 的 更 新 INSERT UPDATE DELETE 6-1 目 的 關 聯 模 式 定 義 嚴 謹 簡 潔, 但 好 用 性 和 執 行 效 率 必 須

More information

RUN_PC連載_12_.doc

RUN_PC連載_12_.doc PowerBuilder 8 (12) PowerBuilder 8.0 PowerBuilder PowerBuilder 8 PowerBuilder 8 / IDE PowerBuilder PowerBuilder 8.0 PowerBuilder PowerBuilder PowerBuilder PowerBuilder 8.0 PowerBuilder 6 PowerBuilder 7

More information

一步一步教你搞网站同步镜像!|动易Cms

一步一步教你搞网站同步镜像!|动易Cms 一 步 一 步 教 你 搞 网 站 同 步 镜 像! 动 易 Cms 前 几 天 看 见 论 坛 里 有 位 朋 友 问 一 个 关 于 镜 像 的 问 题, 今 天 刚 好 搞 到 了 一 个, 于 是 拿 出 来 和 大 家 一 起 分 享 了! 1. 介 绍 现 在 的 网 站 随 着 访 问 量 的 增 加, 单 一 服 务 器 无 法 承 担 巨 大 的 访 问 量, 有 没 有 什 么

More information

Oracle数据库应用技术4 [兼容模式]

Oracle数据库应用技术4 [兼容模式] Oracle 数 据 库 应 用 技 术 河 南 中 医 学 院 信 息 技 术 学 院 王 哲 第 四 章 管 理 表 空 间 主 讲 内 容 : 表 空 间 及 管 理 第 2 页 主 要 内 容 一. 表 空 间 基 础 知 识 二. 管 理 表 空 间 三. 其 他 表 空 间 第 3 页 一. 表 空 间 基 础 知 识 在 创 建 数 据 库 时,Oracle 会 自 动 地 创 建 多

More information

课程名称:数据库系统概论

课程名称:数据库系统概论 数据库系统概论 第三章关系数据库标准语言 SQL 第三章关系数据库标准语言 SQL 3.1 SQL 概述 3.2 学生 - 课程数据库 3.3 数据定义 3.4 数据查询 3.5 数据更新 3.6 视图 3.7 小结 3.1 SQL 概述 SQL(Structured Query Language) 结构化查询语言, 是关系数据库的标准语言 SQL 是一个通用的 功能极强的关系数据库语言 美国标准协会认为官方发音

More information

untitled

untitled 1 Access 料 (1) 立 料 [] [] [ 料 ] 立 料 Access 料 (2) 料 [ 立 料 ] Access 料 (3) 料 料 料 料 料 料 欄 ADO.NET ADO.NET.NET Framework 類 來 料 料 料 料 料 Ex MSSQL Access Excel XML ADO.NET 連 .NET 料.NET 料 料來 類.NET Data Provider

More information

数据库系统概论

数据库系统概论 第三章关系数据库标准语言 SQL 2005/9/27 第三章关系数据库标准语言 SQL 3.1 SQL 概述 3.2 数据定义 3.3 查询 3.4 数据更新 3.5 视图 3.6 数据完整性 3.7 嵌入式 SQL ODBC 及 JDBC 触发器 关系数据库标准语言 SQL( 续 ) SQL 语言 (Structured Query Language) 1974 年由 Boyce 和 Chamberlin

More information

课程名称:数据库系统概论

课程名称:数据库系统概论 数 据 库 系 统 概 论 第 三 章 关 系 数 据 库 标 准 语 言 SQL (II) 兴 义 民 族 师 范 学 院 数 据 查 询 语 句 格 式 SELECT [ALL DISTINCT] < 目 标 列 表 达 式 > [,< 目 标 列 表 达 式 >] FROM < 表 名 或 视 图 名 >[, < 表 名 或 视 图 名 > ] [ WHERE < 条 件 表 达 式 > ]

More information

SQL Server SQL Server SQL Mail Windows NT

SQL Server SQL Server SQL Mail Windows NT ... 3 11 SQL Server... 4 11.1... 7 11.2... 9 11.3... 11 11.4... 30 11.5 SQL Server... 30 11.6... 31 11.7... 32 12 SQL Mail... 33 12.1Windows NT... 33 12.2SQL Mail... 34 12.3SQL Mail... 34 12.4 Microsoft

More information