1、关系数据库标准语言 SQL(三)及答案解析(总分:88.00,做题时间:90 分钟)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.2.“教师
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.3.在 SQL 的 SELECT
3、查询中,HAVING 子句不可以单独使用,总是跟在 1 子句之后一起使用。(分数:2.00)填空项 1:_使用如下数据表:学生.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
4、. SELECT * FROM 学生 WHERE 出生日期=1982-03-20 OR 性别=“男“D. SELECT * FROM 学生 WHERE 出生日期=1982-03-20 OR 性别=“男/(分数:2.00)A.B.C.D.(2).计算刘明同学选修的所有课程的平均成绩,正确的 SQL 语句是_。A. SELECT AVG(成绩) FROM 选课 WHERE 姓名=“刘明“B. SELECT AVG(成绩) FROM 学生,选课 WHERE 姓名=“刘明“C. SELECT AVG(成绩) FROM 学生,选课 WHERE 学生.姓名=“刘明“D. SELECT ATG(成绩) FR
5、ON 学生,选课 WHERE 学生.学号=选课.学号 AND 姓名=“刘明/(分数:2.00)A.B.C.D.(3).假定学号的第 3、4 位为专业代码。要计算各专业学生选修课程号为“101“课程的平均成绩,正确的SQL 语句是_。A. SELECT 专业 AS SUBS(学号,3,2),平均分 AS AVG(成绩) FROM 选课 WHERE 课程号=“101“ GROUP BY 专业B. SELECT SUBS(学号,3,2) AS 专业,AVG(成绩) AS 平均分 FRON 选课 WHERE 课程号=“101“ GROUP BY 1C. SELECT SUBS(学号,3,2) AS 专
6、业,AVG(成绩) AS 平均分 FRON 选课 WHERE 课程号=“101“ ORDER BY 专业D. SELECT 专业 AS SUBS(学号,3,2),平均分 AS AVG(成绩) FRON 选课 WHERE 课程号=“101“ ORDER BY 1(分数:2.00)A.B.C.D.(4).查询选修课程号为“101“课程得分最高的同学,正确的 SQL 语句是_。A. SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号AND 课程号=“101“ AND 成绩=ALL(SELECT 成绩 FROM 选课)B. SELECT 学生.学号,姓名 FROM
7、 学生,选课 WHERE 学生.学号=选课.学号AND 成绩=ALL(SELECT 成绩 FRON 选课 WHERE 课程号=“101“)C. SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号AND 成绩=ANY(SELECT 成绩 FRON 选课 WHERE 课程号=“101“)D. SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND课程号=“101“ AND 成绩=(SELECT 成绩 FROM 选课 WHERE 课程号=“101“)(分数:2.00)A.B.C.D.(5).插入一条记录到“选课”表中,学
8、号、课程号和成绩分别是“02080111“、“103“和 80,正确的 SQL 语句是_。A. INSERT INTO 选课 VALUES(“02080111“,“103“,80)B. INSERT VALUES(“02080111“,“103“,80) TO 选课(学号,课程号,成绩)C. INSERT VALUES(“02080111“,“1013“,80) INTO 选课(学号,课程号,成绩)D. INSERT INTO 选课(学号,课程号,成绩) FROM VALUES(“02080111“,“103“,80)(分数:2.00)A.B.C.D.(6).将学号为“02080110”、课程
9、号为“102”的选课记录的成绩改为 92,正确的 SQL 语句是_。A. UPDATE 选课 SET 成绩 WITH 92 WHERE 学号=“02080110“ AND 课程号=“102“B. UPDATE 选课 SET 成绩=92 WHERE 学号=“02080110“ AND 课程号=“102“C. UPDATE FROM 选课 SET 成绩 WITH 92 WHERE 学号=“02080110“ AND 课程号=“102“D. UPDATE FROM 选课 SET 成绩=92 WHERE 学号=“02080110“ AND 课程号=“102/(分数:2.00)A.B.C.D.4.“教师
10、表”中有“职工号”、“姓名”、“工龄”和“系号”等字段,“学院表”中有“系名”和“系号”等字段,计算“计算机”系教师总数的命令是_。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
11、 教师表.系号;HAVING 学院表系名=“计算机“D) SELECT SUM(*) FROM 教师表 INNER JOIN 学院表;ON 教师表.系号=学院表.系号 ORDER BY 教师表.系号;HAVING 学院表系名=“计算机/(分数:2.00)A.B.C.D.5.SQL 的 SELECT 语句中,“HAVING条件表达式”用来筛选满足条件的_。A) 列 B) 行 C) 关系 D) 分组(分数:2.00)A.B.C.D.6.SQL 语言的更新命令的关键词是_。A) INSERT B) UPDATEC) CREATE D) SELECT(分数:2.00)A.B.C.D.7.SQL 语言的
12、查询语句是_。A) INSERT B) UPDATEC) DELETE D) SELECT(分数:2.00)A.B.C.D.8.在 SQL 语句中,与表达式“年龄 BETWEEN 12 AND 46”功能相同的表达式是_。A) 年龄-12 OR =46B) 年龄-12 AND =46C) 年龄=12 OR 年龄=46D) 年龄=12 AND 年龄=46(分数:2.00)A.B.C.D.9.在 SQL SELECT 语句中与 INTO TABLE 等价的短语是_。A) INTO DBF B) TO TABLEC) INTO FORM D) INTO FILE(分数:2.00)A.B.C.D.10
13、.在 SQL 语言中,用于对查询结果计数的函数是 1。(分数:2.00)填空项 1:_11.在 SQL 的 ALTER TABLE 语句中,为了增加一个新的字段应该使用短语_。A) CREAT B) APPENDC) COLUMN D) ADD(分数:2.00)A.B.C.D.12.在查询设计器环境中,“查询”菜单下的“查询去向”命令指定了查询结果的输出去向,输出去向不包括_。A) 临时表 B) 表C) 文本文件 D) 屏幕(分数:2.00)A.B.C.D.13.以下有关 SELECT 语句的叙述中错误的是_。A) SELECT 语句中可以使用别名B) SELECT 语句中只能包含表中的列及其
14、构成的表达式C) SELECT 语句规定了结果集中的顺序D) 如果 FORM 短语引用的两个表有同名的列,则 SELECT 短语引用它们时必须使用表名前缀加以限定(分数:2.00)A.B.C.D.14.为“成绩”表中“总分”字段增加有效性规则:“总分必须大于等于 0 并且小于等于 750”,正确的SQL 语句是:_ TABLE 成绩 ALTER 总分 _ 总分=0 AND 总分=750(分数:2.00)填空项 1:_15.设有学生表 S(学号,姓名,性别,年龄),查询所有年龄小于等于 18 岁的女同学,并按年龄进行降序生成新的表 WS,正确的 SQL 命令是_。A) SELECT * FROM
15、 S WHERE 性别=“女“ AND 年龄=18 ORDER BY 4 DESC INTO TABLE WSB) SELECT * FROM S WHERE 性别=“女“ AND 年龄=18 ORDER BY 年龄 INTO TABLE WSC) SELECT * FROM S WHERE 性别=“女“ AND 年龄=18 ORDER BY “年龄“ DESC INTO TKBLE WSD) SELECT * FROM S WHERE 性别=“女“ OR 年龄=18 ORDER BY “年龄“ SC INTO TABLE WS(分数:2.00)A.B.C.D.16.在 SQL 的 SELEC
16、T 查询中,使用 1 关键词消除查询结果中的重复记录。(分数:2.00)填空项 1:_17.在 SQL 中,要查询表 s 在 AGE 字段上取空值的记录,正确的 SQL 语句为SELECT * FROM s WHERE _(分数:2.00)填空项 1:_18.在 Visual FoxPro 中,假设教师表 T(教师号,姓名,性别,职称,研究生导师)中的性别是 C 型字段,研究生导师是 L 型字段。若要查询“是研究生导师的女老师”信息,那么 SQL 语句“SELECT *FROM T WHERE逻辑表达式”中的逻辑表达式应是_。A) 研究生导师 AND 性别=“女“B) 研究生导师 OR 性别=
17、“女“C) 性别=“女“ AND 研究生导师=.F.D) 研究生导师=.T. OR 性别=女(分数:2.00)A.B.C.D.19.若 SQL 语句中的 ORDER BY 短语中指定了多个字段,则_。A) 依次按自右至左的字段顺序排序B) 只按第一个字段排序C) 依次按自左至右的字段顺序排序D) 无法排序(分数:2.00)A.B.C.D.20.在使用查询设计器创建查询时,为了指定在查询结果中是否包含重复记录(对应于 DISTINCT),应使用的选项卡是_。A) 排序依据 B) 连接C) 筛选 D) 杂项(分数:2.00)A.B.C.D.21.SQL 的数据操作语句不包括_。A) INSERT
18、B) UPDATEC) DELETE D) CHANGE(分数:2.00)A.B.C.D.下列各题使用如下数据表:学生.DBF:学号(C,8),姓名(C,6),性别(C,2)选课.DBF:学号(C,8),课程号(C,3),成绩(N,3)(分数:10.00)(1).从“选课”表中检索成绩大于等于 60 并且小于 90 的记录信息,正确的 SQL 命令是_。A. SELECT * FROM 选课 WHERE 成绩 BETWEEN 60 AND 89B. SELECT * FROM 选课 WHERE 成绩 BETWEEN 60 TO 89C. SELECT * FROM 选课 WHERE 成绩 BE
19、TWEEN 60 AND 90D. SELECT * FROM 选课 WHERE 成绩 BETWEEN 60 TO 90(分数:2.00)A.B.C.D.(2).检索还未确定成绩的学生选课信息,正确的 SQL 命令是_。A. SELECT 学生.学号,姓名,选课.课程号 FROM 学生 JOIN 选课WHERE 学生.学号=选课.学号 AND 选课.成绩 IS NULLB. SELECT 学生.学号,姓名,选课.课程号 FROM 学生 JOIN 选课WHERE 学生.学号=选课.学号 AND 选课.成绩=NULLC. SELECT 学生.学号,姓名,选课.课程号 FROM 学生 JOIN 选课
20、ON 学生.学号=选课.学号 WHERE 选课.成绩 IS NULLD. SELECT 学生.学号,姓名,选课.课程号 FROM 学生 JOIN 选课ON 学生.学号=选课.学号 WHERE 选课.成绩=NULL(分数:2.00)A.B.C.D.(3).假设所有的选课成绩都已确定。显示“101”号课程成绩中最高的 10%记录信息,正确的 SQL 命令是_。A. SELECT * TOP 10 FROM 选课 ORDER BY 成绩 WHERE 课程号=“101“B. SELECT * PERCENT 10 FROM 选课 ORDER BY 成绩 DESC WHERE 课程号=“101“C. S
21、ELECT * TOP 140 PERCENT FROM 选课 ORDER BY 成绩 WHERE 课程号=“101“D. SELECT * TOP 10 PERCENT FROM 选课 ORDER BY 成绩 DESC WHERE 课程号=“101/(分数:2.00)A.B.C.D.(4).假设所有学生都已选课,所有的选课成绩都已确定。检索所有选课成绩都在 90 分以上(含)的学生信息,正确的 SQL 命令是_。A. SELECT * FROM 学生 WHERE 学号 IN (SELECT 学号 FROM 选课 WHERE 成绩=90)B. SELECT * FROM 学生 WHERE 学号
22、 NOT IN (SELECT 学号 FROM 选课 WHERE 成绩90)C. SELECT * FROM 学生 WHERE 学号!=ANY (SELECT 学号 FROM 选课 WHERE 成绩=90)D. SELECT * FROM 学生 WHERE 学号=ANY (SELECT 学号 FROM 选课 WHERE 成绩=90)(分数:2.00)A.B.C.D.(5).为“选课”表增加一个“等级”字段,其类型为 C、宽度为 2,正确的 SQL 命令是_。A. ALTER TABLE 选课 ADD FILED 等级 C(2)B. ALTER TABLE 选课 ALTER FILED 等级 C
23、(2)C. ALTER TABLE 选课 ADD 等级 C(2)D. ALTER TABLE 选课 ALTER 等级 C(2)(分数:2.00)A.B.C.D.22.要在“成绩”表中插入一条记录,应该使用的 SQL 语句是:_ 成绩(学号,英语,数学,语文)VkLOES(“2001100111“,91,78,86)。(分数:2.00)填空项 1:_23.“歌手”表中有“歌手号”、“姓名”和“最后得分”3 个字段,“最后得分”越高,名次越靠前,查询前 10 名歌手的 SQL 语句如下:SELECT * _ FROM 歌手 ORDER BY 最后得分 _(分数:2.00)填空项 1:_24.在 S
24、QL 的 SELECT 查询结果中,消除重复记录的方法是_。A) 通过指定主索引实现B) 通过指定唯一索引实现C) 使用 DISTINCT 短语实现D) 使用 WHERE 短语实现(分数:2.00)A.B.C.D.25.将“学生”表中学号左 4 位为“2010”的记录存储到新表 new 中的命令是:SEINCT * FRON 学生 WHERE (1)=“2010” (2) DBF new(分数:2.00)填空项 1:_26.如下命令将“产品”表的“名称”字段名修改为“产品名称”:ALTER TABLE 产品 RENAME 1 名称 TO 产品名称。(分数:2.00)填空项 1:_27.在 SQ
25、L SELECT 语句中,为了将查询结果存储到临时表,应该使用短语_。A) TO CURSOR B) INTO CURSORC) INTO DBF D) TO DBF(分数:2.00)A.B.C.D.28.假设有 student 表,可以正确添加字段“平均分数”的命令是_。A) ALTER TABLE student ADD 平均分数 F(6,2)B) ALTER DBF student ADD 平均分数 F6,2C) CHANGE TABLE student ADD 平均分数 F(6,2)D) CHANGE TABLE student INSERT 平均分数 6,2(分数:2.00)A.B.
26、C.D.29.下表是用 list 命令显示的“运动员”表的内容和结构:记录号 运动员号 投中 2 分球 投中 3 分球 罚球1 1 3 4 52 2 2 1 33 3 0 0 04 4 5 6 7计算每名运动员的“得分”(33 题增加的字段)的正确 SQL 语句是_。A) UPDATE 运动员 FIELD 得分=2*投中 2 分球+3*投中 3 分球+罚球B) UPDATE 运动员 FIELD 得分 WITH 2*投中 2 分球+3*投中 3 分球+罚球C) UPDATE 运动员 SET 得分 WITH 2*投中 2 分球+3*投中 3 分球+罚球D) UPDATE 运动员 SET 得分=2*
27、投中 2 分球+3*投中 3 分球+罚球(分数:2.00)A.B.C.D.30.为“学生”表的“年龄”字段增加有效性规则“年龄必须在 1845 岁之间”的 SQL 语句是:ALTER TABLE 学生 ALTER 年龄 1 年龄=45 AND 年龄=18。(分数:2.00)填空项 1:_31.在 Visual FoxPro 中,如果要将学生表 S(学号,姓名,性别,年龄)中的“年龄”属性删除,正确的SQL 命令是_。A) ALTER TABLE S DROP COLUMN 年龄B) DELETE 年龄 FROM SC) ALTER TABLE S DELETE COLUMN 年龄D) ALTE
28、R TABLE S DELETE 年龄(分数:2.00)A.B.C.D.32.设有订单表 order(其中包含字段:订单号,客户号,职员号,签订日期,金额),删除 2002 年 1 月 1日以前签订的订单记录,正确的 SQL 命令是_。A) DELETE TABLE order WHERE 签订日期2002-1-1B) DELETE TABLE order WHILE 签订日期2002-1-1C) DELETE FROM order WHERE 签订日期2002-1-1D) DELETE FROM order WHILE 签订日期2002-1-1(分数:2.00)A.B.C.D.33.“教师表
29、”中有“职工号”、“姓名”、“工龄”和“系号”等字段,“学院表”中有“系名”和“系号”等字段,求教师总数最多的系的教师人数,正确的命令序列是_。A) SELECT 教师表.系号,COUNT(*) AS 人数 FROM 教师表,学院表;GROUP BY 教师表.系号 INTO DBF TEMPSELECT MAX(人数) FROM TEMPB) SELECT 教师表.系号,COUNT(*) FROM 教师表,学院表;WHERE 教师表.系号=学院表.系号 GROUP BY 教师表.系号 INTO DBFTEMPSELECT MAX(人数) FROM TEMPC) SELECT 教师表.系号,CO
30、UNT(*) AS 人数 FROM 教师表,学院表;WHERE 教师表.系号=学院表.系号 GROUP BY 教师表.系号 TOFILE TEMPSELECT MAX(人数) FROM TEMPD) SELECT 教师表.系号,COUNT(*) AS 人数 FROM 教师表,学院表;WHERE 教师表.系号=学院表.系号 GROUP BY 教师表.系号 INTO DBFTEMPSELECT MAX(人数) FROM TEMP(分数:2.00)A.B.C.D.关系数据库标准语言 SQL(三)答案解析(总分:88.00,做题时间:90 分钟)1.查询单价在 600 元以上的主机板和硬盘的正确命令是
31、_。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 表
32、示“和”。故本题选项 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.
33、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,
34、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 学生 WHE
35、RE 出生日期=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. SELE
36、CT ATG(成绩) FRON 学生,选课 WHERE 学生.学号=选课.学号 AND 姓名=“刘明/(分数:2.00)A.B.C.D. 解析:解析 计算刘明同学选修的所有课程的平均成绩,涉及学生表和选课表,并且通过相同的字段“学号”将两表连接起来,所以选 D。(3).假定学号的第 3、4 位为专业代码。要计算各专业学生选修课程号为“101“课程的平均成绩,正确的SQL 语句是_。A. SELECT 专业 AS SUBS(学号,3,2),平均分 AS AVG(成绩) FROM 选课 WHERE 课程号=“101“ GROUP BY 专业B. SELECT SUBS(学号,3,2) AS 专业,
37、AVG(成绩) AS 平均分 FRON 选课 WHERE 课程号=“101“ GROUP BY 1C. SELECT SUBS(学号,3,2) AS 专业,AVG(成绩) AS 平均分 FRON 选课 WHERE 课程号=“101“ ORDER BY 专业D. SELECT 专业 AS SUBS(学号,3,2),平均分 AS AVG(成绩) FRON 选课 WHERE 课程号=“101“ ORDER BY 1(分数:2.00)A.B. C.D.解析:解析 SUBS(学号,3,2) AS 专业表示截取学号的第 3 和第 4 位来代表专业代码,计算平均分用AVG()短语,计算各专业学生选修课程号为
38、“101“课程的平均成绩,应以专业为分组依据,分组用 GROUP BY 短语。(4).查询选修课程号为“101“课程得分最高的同学,正确的 SQL 语句是_。A. SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号AND 课程号=“101“ AND 成绩=ALL(SELECT 成绩 FROM 选课)B. SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号AND 成绩=ALL(SELECT 成绩 FRON 选课 WHERE 课程号=“101“)C. SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.
39、学号=选课.学号AND 成绩=ANY(SELECT 成绩 FRON 选课 WHERE 课程号=“101“)D. SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND课程号=“101“ AND 成绩=(SELECT 成绩 FROM 选课 WHERE 课程号=“101“)(分数:2.00)A.B. C.D.解析:解析 这是一个使用量词和谓语的查询,ALL 表示所有子查询中的所有行都使结果为真时,结果才为真:而 ANY 表示子查询中有一行能使结果为真,则结果就为真,要求查询选修课程号为“101“课程得分最高的同学,所以应该选 B。(5).插入一条记录到“选
40、课”表中,学号、课程号和成绩分别是“02080111“、“103“和 80,正确的 SQL 语句是_。A. INSERT INTO 选课 VALUES(“02080111“,“103“,80)B. INSERT VALUES(“02080111“,“103“,80) TO 选课(学号,课程号,成绩)C. INSERT VALUES(“02080111“,“1013“,80) INTO 选课(学号,课程号,成绩)D. INSERT INTO 选课(学号,课程号,成绩) FROM VALUES(“02080111“,“103“,80)(分数:2.00)A. B.C.D.解析:解析 插入记录的命令是
41、 INSERT INTOVALUES。(6).将学号为“02080110”、课程号为“102”的选课记录的成绩改为 92,正确的 SQL 语句是_。A. UPDATE 选课 SET 成绩 WITH 92 WHERE 学号=“02080110“ AND 课程号=“102“B. UPDATE 选课 SET 成绩=92 WHERE 学号=“02080110“ AND 课程号=“102“C. UPDATE FROM 选课 SET 成绩 WITH 92 WHERE 学号=“02080110“ AND 课程号=“102“D. UPDATE FROM 选课 SET 成绩=92 WHERE 学号=“02080
42、110“ AND 课程号=“102/(分数:2.00)A.B. C.D.解析:解析 数据更新的命令是 UPDATESETWHERE。4.“教师表”中有“职工号”、“姓名”、“工龄”和“系号”等字段,“学院表”中有“系名”和“系号”等字段,计算“计算机”系教师总数的命令是_。A) SELECT COUNT(*) FROM 教师表 INNER JOIN 学院表;ON 教师表.系号=学院表.系号 WHERE 系名=“计算机“B) SELECT COUNT(*) FROM 教师表 INNER JOIN 学院表;ON 教师表.系号=学院表.系号 ORDER BY 教师表.系号;HAVING 学院表系名=
43、“计算机“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 一起使用。本题不需要分组,也不需要排序,只需要汁算“计算机”系教师总数,因此
44、使用计数函数 COUNT()即可。5.SQL 的 SELECT 语句中,“HAVING条件表达式”用来筛选满足条件的_。A) 列 B) 行 C) 关系 D) 分组(分数:2.00)A.B.C.D. 解析:解析 HAVING 子句与 GROUP BY 子句同时使用,用来限定分组必须满足的条件。可见选项 D 是正确的。6.SQL 语言的更新命令的关键词是_。A) INSERT B) UPDATEC) CREATE D) SELECT(分数:2.00)A.B. C.D.解析:解析 本题考查的知识点是 SQL 语言。INSERT 用于插入一条新记录,UPDATE 用于更新,CREATE用于创建表等,S
45、ELECT 用于查询。即本题的答案为 B。7.SQL 语言的查询语句是_。A) INSERT B) UPDATEC) DELETE D) SELECT(分数:2.00)A.B.C.D. 解析:解析 INSERT 是数据插入语句,UPDATE 是数据更新语句,DELETE 是数据删除语句。8.在 SQL 语句中,与表达式“年龄 BETWEEN 12 AND 46”功能相同的表达式是_。A) 年龄-12 OR =46B) 年龄-12 AND =46C) 年龄=12 OR 年龄=46D) 年龄=12 AND 年龄=46(分数:2.00)A.B.C.D. 解析:解析 “BETWEENAND”意思是“和
46、之间”,包括两个端点在内。9.在 SQL SELECT 语句中与 INTO TABLE 等价的短语是_。A) INTO DBF B) TO TABLEC) INTO FORM D) INTO FILE(分数:2.00)A. B.C.D.解析:解析 将查询结果存放到永久表中用短语 INTO DBF 或 INTO TABLE,将查询结果存放到数组中用短语 INTO ARRAY,将查询结果存放在临时文件中用短语 INTO CURSOR,将查询结果存放到文本文件中用短语 TO FILE。10.在 SQL 语言中,用于对查询结果计数的函数是 1。(分数:2.00)填空项 1:_ (正确答案:COUNT(
47、))解析:解析 本题考查的知识点是统计函数。在 SQL 语言中,常使用 COUNT()函数查询结果计数,SUM()函数求和,AVG()函数求平均值。11.在 SQL 的 ALTER TABLE 语句中,为了增加一个新的字段应该使用短语_。A) CREAT B) APPENDC) COLUMN D) ADD(分数:2.00)A.B.C.D. 解析:解析 在 SQL 的 ALTER TABLE 语句中,ADD 可以添加新的字段,ALTER 可以修改已有的字段。12.在查询设计器环境中,“查询”菜单下的“查询去向”命令指定了查询结果的输出去向,输出去向不包括_。A) 临时表 B) 表C) 文本文件 D) 屏幕(分数:2.00)A.B.C. D.解析:解析 查询去向共有 7 个,分别是浏览、临时表、表、图形、屏幕、报表和标签。13.以下有关 SELECT 语句的叙述中错误的是_。A) SELECT 语句中可以使用别名B) SELECT 语句中只能包含表中的列及其构成的表达式C) SELECT 语句规定了结果集中的顺序D) 如果 FORM 短语引用的两个表有同名的列,则 SELECT 短语引用它们时必须使用表名前缀加以限定(分数:2.0