关系数据库标准语言SQL(三) 下载本文

内容发布更新时间 : 2024/11/9 10:25:11星期一 下面是文章的全部内容请认真阅读。

关系数据库标准语言SQL(三)

(总分:88.00,做题时间:90分钟)

一、

(总题数:35,分数:88.00)

1.查询单价在600元以上的主机板和硬盘的正确命令是______。

A) SELECT * FROM 产品 WHERE 单价>600 AND(名称='主机板' AND 名称='硬盘') B) SELECT * FROM 产品 WHERE 单价>600 AND(名称='主机板' OR 名称='硬盘') C) SELECT * FROM 产品 FOR 单价>600 AND(名称='主机板' AND 名称='硬盘') D) SELECT * FROM 产品 FOR 单价>600 AND(名称='主机板' OR 名称='硬盘')

(分数:2.00) A. B. √ C. D.

解析:[解析] Visual FoxPro的SQL SELECT命令的语法格式中WHERE说明查询条件,即选择元组的条件。逻辑运算AND表示“和”。故本题选项B正确。

2.“教师表”中有“职工号”、“姓名”和“工龄”字段,其中“职工号”为主关键字,建立“教师表”的SQL命令是______。

A) CREATE TABLE 教师表 (职工号 C(10)PRIMARY,姓名C(20),工龄I) B) CREATE TABLE 教师表(职工号 C(10)FOREING,姓名C(20),工龄I) C) CREATE TABLE 教师表(职工号 C(10)FOREING KEY,姓名C(20),工龄I) D) CREATE TABLE 教师表(职工号 C(10)PRIMARY KEY,姓名C(20),工龄I)

(分数:2.00) A. B. C. D. √

解析:[解析] 关键字的设置应该使用PRIMARY KEY。PRIMARY KEY列约束表明表中的一个列/字段只能包含唯一的(不重复)、非空的数值。在该列/字段的PRIMARY KEY约束定义中不需要显式地包括NOT NULL约束。一个表只能声明一个PRIMARY KEY。

3.在SQL的SELECT查询中,HAVING子句不可以单独使用,总是跟在 1子句之后一起使用。

(分数:2.00)

填空项1:__________________ (正确答案:GROUP BY)

解析:[解析] HAVING子句必须跟随GROUP BY使用,它用来限定分组必须满足的条件。 使用如下数据表:

学生.DBF:学号(C,8)、姓名(C,6)、性别(C,2)、出生日期(D) 选课.DBF:学号(C,8)、课程号(C,3)、成绩(N,5,1)

(分数:12.00)

(1).查询所有1982年3月20日以后(含)出生、性别为男的学生,正确的SQL语句是______。 A. SELECT * FROM 学生 WHERE 出生日期>={^1982-03-20} AND 性别=\男\B. SELECT * FROM 学生 WHERE 出生日期<={^1982-03-20} AND 性别=\男\C. SELECT * FROM 学生 WHERE 出生日期>={^1982-03-20} OR 性别=\男\

D. SELECT * FROM 学生 WHERE 出生日期<={^1982-03-20} OR 性别=\男/(分数:2.00) A. √ B. C. D.

解析:[解析] 查询所有1982年3月20日后(含)出生的学生,WHERE条件应是出生日期>={^1982-03-20},并且性别为男,所以中间应用AND短语连接。

(2).计算刘明同学选修的所有课程的平均成绩,正确的SQL语句是______。 A. SELECT AVG(成绩) FROM 选课 WHERE 姓名=\刘明\B. SELECT AVG(成绩) FROM 学生,选课 WHERE 姓名=\刘明\C. SELECT AVG(成绩) FROM 学生,选课 WHERE 学生.姓名=\刘明\

D. SELECT ATG(成绩) FRON 学生,选课 WHERE 学生.学号=选课.学号 AND 姓名=\刘明/(分数:2.00) A. B. C. D. √

解析:[解析] 计算刘明同学选修的所有课程的平均成绩,涉及学生表和选课表,并且通过相同的字段“学号”将两表连接起来,所以选D。

(3).假定学号的第3、4位为专业代码。要计算各专业学生选修课程号为\课程的平均成绩,正确的SQL语句是______。

A. SELECT 专业 AS SUBS(学号,3,2),平均分 AS AVG(成绩) FROM 选课 WHERE 课程号=\专业

B. SELECT SUBS(学号,3,2) AS 专业,AVG(成绩) AS 平均分 FRON 选课 WHERE 课程号=\1

C. SELECT SUBS(学号,3,2) AS 专业,AVG(成绩) AS 平均分 FRON 选课 WHERE 课程号=\专业

D. SELECT 专业 AS SUBS(学号,3,2),平均分 AS AVG(成绩) FRON 选课 WHERE 课程号=\1(分数:2.00) A. B. √ C. D.

解析:[解析] SUBS(学号,3,2) AS 专业表示截取学号的第3和第4位来代表专业代码,计算平均分用AVG()短语,计算各专业学生选修课程号为\课程的平均成绩,应以专业为分组依据,分组用GROUP BY短语。

(4).查询选修课程号为\课程得分最高的同学,正确的SQL语句是______。 A. SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 课程号=\成绩>=ALL(SELECT 成绩 FROM 选课)

B. SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 成绩>=ALL(SELECT 成绩 FRON 选课 WHERE 课程号=\

C. SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 成绩>=ANY(SELECT 成绩 FRON 选课 WHERE 课程号=\

D. SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND

课程号=\成绩>=(SELECT 成绩 FROM 选课 WHERE 课程号=\(分数:2.00) A.

B. √ C. D.

解析:[解析] 这是一个使用量词和谓语的查询,ALL表示所有子查询中的所有行都使结果为真时,结果才为真:而ANY表示子查询中有一行能使结果为真,则结果就为真,要求查询选修课程号为\课程得分最高的同学,所以应该选B。

(5).插入一条记录到“选课”表中,学号、课程号和成绩分别是\、\和80,正确的SQL语句是______。

A. INSERT INTO 选课 VALUES(\,\,80)

B. INSERT VALUES(\,\,80) TO 选课(学号,课程号,成绩) C. INSERT VALUES(\,\,80) INTO 选课(学号,课程号,成绩)

D. INSERT INTO 选课(学号,课程号,成绩) FROM VALUES(\,\,80)(分数:2.00) A. √ B. C. D.

解析:[解析] 插入记录的命令是INSERT INTO…VALUES…。

(6).将学号为“02080110”、课程号为“102”的选课记录的成绩改为92,正确的SQL语句是______。 A. UPDATE 选课 SET 成绩 WITH 92 WHERE 学号=\课程号=\B. UPDATE 选课 SET 成绩=92 WHERE 学号=\课程号=\

C. UPDATE FROM 选课 SET 成绩 WITH 92 WHERE 学号=\课程号=\

D. UPDATE FROM 选课 SET 成绩=92 WHERE 学号=\课程号=\(分数:2.00) A. B. √ C. D.

解析:[解析] 数据更新的命令是UPDATE…SET…WHERE…。

4.“教师表”中有“职工号”、“姓名”、“工龄”和“系号”等字段,“学院表”中有“系名”和“系号”等字段,计算“计算机”系教师总数的命令是______。

A) SELECT COUNT(*) FROM 教师表 INNER JOIN 学院表;ON 教师表.系号=学院表.系号 WHERE 系名=\计算机\

B) SELECT COUNT(*) FROM 教师表 INNER JOIN 学院表;ON 教师表.系号=学院表.系号 ORDER BY 教师表.系号;HAVING 学院表系名=\计算机\

C) SELECT SUM(*) FROM 教师表 INNER JOIN 学院表;ON 教师表.系号=学院表.系号 GROUP BY 教师表.系号;HAVING 学院表系名=\计算机\

D) SELECT SUM(*) FROM 教师表 INNER JOIN 学院表;ON 教师表.系号=学院表.系号 ORDER BY 教师表.系号;HAVING 学院表系名=\计算机/

(分数:2.00) A. √ B. C. D.

解析:[解析] HAVING指定包括在查询结果中的组必须满足的筛选条件,HAVING应该同GROUP BY一起使用。本题不需要分组,也不需要排序,只需要汁算“计算机”系教师总数,因此使用计数函数COUNT()即可。 5.SQL的SELECT语句中,“HAVING<条件表达式>”用来筛选满足条件的______。 A) 列 B) 行 C) 关系 D) 分组