关系数据库标准语言SQL三.docx

上传人:b****3 文档编号:5211051 上传时间:2022-12-14 格式:DOCX 页数:17 大小:24.64KB
下载 相关 举报
关系数据库标准语言SQL三.docx_第1页
第1页 / 共17页
关系数据库标准语言SQL三.docx_第2页
第2页 / 共17页
关系数据库标准语言SQL三.docx_第3页
第3页 / 共17页
关系数据库标准语言SQL三.docx_第4页
第4页 / 共17页
关系数据库标准语言SQL三.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

关系数据库标准语言SQL三.docx

《关系数据库标准语言SQL三.docx》由会员分享,可在线阅读,更多相关《关系数据库标准语言SQL三.docx(17页珍藏版)》请在冰豆网上搜索。

关系数据库标准语言SQL三.docx

关系数据库标准语言SQL三

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

(总分:

88.00,做题时间:

90分钟)

一、

(总题数:

35,分数:

88.00)

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

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

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

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

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

(分数:

2.00)

 A.

 B. √

 C.

 D.

解析:

[解析]VisualFoxPro的SQLSELECT命令的语法格式中WHERE说明查询条件,即选择元组的条件。

逻辑运算AND表示“和”。

故本题选项B正确。

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

A)CREATETABLE教师表(职工号C(10)PRIMARY,姓名C(20),工龄I)

B)CREATETABLE教师表(职工号C(10)FOREING,姓名C(20),工龄I)

C)CREATETABLE教师表(职工号C(10)FOREINGKEY,姓名C(20),工龄I)

D)CREATETABLE教师表(职工号C(10)PRIMARYKEY,姓名C(20),工龄I)

(分数:

2.00)

 A.

 B.

 C.

 D. √

解析:

[解析]关键字的设置应该使用PRIMARYKEY。

PRIMARYKEY列约束表明表中的一个列/字段只能包含唯一的(不重复)、非空的数值。

在该列/字段的PRIMARYKEY约束定义中不需要显式地包括NOTNULL约束。

一个表只能声明一个PRIMARYKEY。

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

(分数:

2.00)

填空项1:

__________________ (正确答案:

GROUPBY)

解析:

[解析]HAVING子句必须跟随GROUPBY使用,它用来限定分组必须满足的条件。

使用如下数据表:

学生.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.SELECTAVG(成绩)FROM选课WHERE姓名="刘明"

B.SELECTAVG(成绩)FROM学生,选课WHERE姓名="刘明"

C.SELECTAVG(成绩)FROM学生,选课WHERE学生.姓名="刘明"

D.SELECTATG(成绩)FRON学生,选课WHERE学生.学号=选课.学号AND姓名="刘明/(分数:

2.00)

 A.

 B.

 C.

 D. √

解析:

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

(3).假定学号的第3、4位为专业代码。

要计算各专业学生选修课程号为"101"课程的平均成绩,正确的SQL语句是______。

A.SELECT专业ASSUBS(学号,3,2),平均分ASAVG(成绩)FROM选课WHERE课程号="101"GROUPBY专业

B.SELECTSUBS(学号,3,2)AS专业,AVG(成绩)AS平均分FRON选课WHERE课程号="101"GROUPBY1

C.SELECTSUBS(学号,3,2)AS专业,AVG(成绩)AS平均分FRON选课WHERE课程号="101"ORDERBY专业

D.SELECT专业ASSUBS(学号,3,2),平均分ASAVG(成绩)FRON选课WHERE课程号="101"ORDERBY1(分数:

2.00)

 A.

 B. √

 C.

 D.

解析:

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

(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学生.学号=选课.学号

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).插入一条记录到“选课”表中,学号、课程号和成绩分别是"02080111"、"103"和80,正确的SQL语句是______。

A.INSERTINTO选课VALUES("02080111","103",80)

B.INSERTVALUES("02080111","103",80)TO选课(学号,课程号,成绩)

C.INSERTVALUES("02080111","1013",80)INTO选课(学号,课程号,成绩)

D.INSERTINTO选课(学号,课程号,成绩)FROMVALUES("02080111","103",80)(分数:

2.00)

 A. √

 B.

 C.

 D.

解析:

[解析]插入记录的命令是INSERTINTO…VALUES…。

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

A.UPDATE选课SET成绩WITH92WHERE学号="02080110"AND课程号="102"

B.UPDATE选课SET成绩=92WHERE学号="02080110"AND课程号="102"

C.UPDATEFROM选课SET成绩WITH92WHERE学号="02080110"AND课程号="102"

D.UPDATEFROM选课SET成绩=92WHERE学号="02080110"AND课程号="102/(分数:

2.00)

 A.

 B. √

 C.

 D.

解析:

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

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

A)SELECTCOUNT(*)FROM教师表INNERJOIN学院表;ON教师表.系号=学院表.系号WHERE系名="计算机"

B)SELECTCOUNT(*)FROM教师表INNERJOIN学院表;ON教师表.系号=学院表.系号ORDERBY教师表.系号;HAVING学院表系名="计算机"

C)SELECTSUM(*)FROM教师表INNERJOIN学院表;ON教师表.系号=学院表.系号GROUPBY教师表.系号;HAVING学院表系名="计算机"

D)SELECTSUM(*)FROM教师表INNERJOIN学院表;ON教师表.系号=学院表.系号ORDERBY教师表.系号;HAVING学院表系名="计算机/

(分数:

2.00)

 A. √

 B.

 C.

 D.

解析:

[解析]HAVING指定包括在查询结果中的组必须满足的筛选条件,HAVING应该同GROUPBY一起使用。

本题不需要分组,也不需要排序,只需要汁算“计算机”系教师总数,因此使用计数函数COUNT()即可。

5.SQL的SELECT语句中,“HAVING<条件表达式>”用来筛选满足条件的______。

A)列B)行C)关系D)分组

(分数:

2.00)

 A.

 B.

 C.

 D. √

解析:

[解析]HAVING子句与GROUPBY子句同时使用,用来限定分组必须满足的条件。

可见选项D是正确的。

6.SQL语言的更新命令的关键词是______。

A)INSERTB)UPDATE

C)CREATED)SELECT

(分数:

2.00)

 A.

 B. √

 C.

 D.

解析:

[解析]本题考查的知识点是SQL语言。

INSERT用于插入一条新记录,UPDATE用于更新,CREATE用于创建表等,SELECT用于查询。

即本题的答案为B。

7.SQL语言的查询语句是______。

A)INSERTB)UPDATE

C)DELETED)SELECT

(分数:

2.00)

 A.

 B.

 C.

 D. √

解析:

[解析]INSERT是数据插入语句,UPDATE是数据更新语句,DELETE是数据删除语句。

8.在SQL语句中,与表达式“年龄BETWEEN12AND46”功能相同的表达式是______。

A)年龄>-12OR<=46

B)年龄>-12AND<=46

C)年龄>=12OR年龄<=46

D)年龄>=12AND年龄<=46

(分数:

2.00)

 A.

 B.

 C.

 D. √

解析:

[解析]“BETWEEN…AND…”意思是“…和…之间”,包括两个端点在内。

9.在SQLSELECT语句中与INTOTABLE等价的短语是______。

A)INTODBFB)TOTABLE

C)INTOFORMD)INTOFILE

(分数:

2.00)

 A. √

 B.

 C.

 D.

解析:

[解析]将查询结果存放到永久表中用短语INTODBF或INTOTABLE,将查询结果存放到数组中用短语INTOARRAY,将查询结果存放在临时文件中用短语INTOCURSOR,将查询结果存放到文本文件中用短语TOFILE。

10.在SQL语言中,用于对查询结果计数的函数是1。

(分数:

2.00)

填空项1:

__________________ (正确答案:

COUNT())

解析:

[解析]本题考查的知识点是统计函数。

在SQL语言中,常使用COUNT()函数查询结果计数,SUM()函数求和,AVG()函数求平均值。

11.在SQL的ALTERTABLE语句中,为了增加一个新的字段应该使用短语______。

A)CREATB)APPEND

C)COLUMND)ADD

(分数:

2.00)

 A.

 B.

 C.

 D. √

解析:

[解析]在SQL的ALTERTABLE语句中,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.00)

 A.

 B. √

 C.

 D.

解析:

[解析]SELECT语句中除了包含表中的列及其构成的表达式外,还可以包含常量等其他元素;SELECT语句中可以使用别名;SELECT语句规定了结果集中的顺序;如果FORM短语引用的两个表有同名的列,则SELECT短语引用它们时必须使用表名前缀加以限定。

14.为“成绩”表中“总分”字段增加有效性规则:

“总分必须大于等于0并且小于等于750”,正确的SQL语句是:

______TABLE成绩ALTER总分______总分>=0AND总分<=750

(分数:

2.00)

填空项1:

__________________ (正确答案:

ALTERSETCHECK)

解析:

[解析]用于定义、修改和删除有效性规则和默认值定义的ALTER命令格式为

ALTERTABLETableNamelALTER[COLUMN]FieldName2[NULL|NOTNULL]

[SETDEFAULTeExpression2][SETCHECK1Expression2[ERRORcMessageText2]][DROPDEFAULT][DROPCHECK]

“SETDEFAULTeExpression2”用于设置或修改默认值,“SETCHECK1Expression2”用于为字段增加或修改有效性规则,“DROPDEFAULT”用于删除默认值,“DROPCHECK”用于删除有效性规则。

15.设有学生表S(学号,姓名,性别,年龄),查询所有年龄小于等于18岁的女同学,并按年龄进行降序生成新的表WS,正确的SQL命令是______。

A)SELECT*FROMSWHERE性别="女"AND年龄<=18ORDERBY4DESCINTOTABLEWS

B)SELECT*FROMSWHERE性别="女"AND年龄<=18ORDERBY年龄INTOTABLEWS

C)SELECT*FROMSWHERE性别="女"AND年龄<=18ORDERBY"年龄"DESCINTOTKBLEWS

D)SELECT*FROMSWHERE性别="女"OR年龄<=18ORDERBY"年龄"SCINTOTABLEWS

(分数:

2.00)

 A. √

 B.

 C.

 D.

解析:

[解析]按年龄降序排列先用DESC短语,对字段的排序有两种表示方式,分别是按列号和字段名排序,字段名是变量名所以不应加引号,故C选项错误。

16.在SQL的SELECT查询中,使用1关键词消除查询结果中的重复记录。

(分数:

2.00)

填空项1:

__________________ (正确答案:

DISTINCT)

解析:

[解析]本题考查的知识点是SQL查询。

在SQL的查询中,通常使用DISTINCT关键词消除查询结果中的重复记录。

17.在SQL中,要查询表s在AGE字段上取空值的记录,正确的SQL语句为

SELECT*FROMsWHERE______

(分数:

2.00)

填空项1:

__________________ (正确答案:

AGEISNULL)

解析:

[解析]=“NULL”表示和NULL值进行比较,使用关键字“ISNULL”判断字段是否为空。

18.在VisualFoxPro中,假设教师表T(教师号,姓名,性别,职称,研究生导师)中的性别是C型字段,研究生导师是L型字段。

若要查询“是研究生导师的女老师”信息,那么SQL语句“SELECT*FROMTWHERE<逻辑表达式>”中的<逻辑表达式>应是______。

A)研究生导师AND性别="女"

B)研究生导师OR性别="女"

C)性别="女"AND研究生导师=.F.

D)研究生导师=.T.OR性别=女

(分数:

2.00)

 A. √

 B.

 C.

 D.

解析:

[解析]题目中要查询的信息是“是研究生导师的女老师”,可以知道要查询的是女老师,并且该老师是研究生导师,这之间的关系就是“与”的关系,因此答案选A。

19.若SQL语句中的ORDERBY短语中指定了多个字段,则______。

A)依次按自右至左的字段顺序排序

B)只按第一个字段排序

C)依次按自左至右的字段顺序排序

D)无法排序

(分数:

2.00)

 A.

 B.

 C. √

 D.

解析:

[解析]SQLSELECT命令可以将查询结果排序,实现该排序的短语是ORDERBY。

具体格式如下:

ORDERBYOrder_Item[ASC|DESC][,Order_Item[ASC|DESC]…]

根据列的数据对查询结果进行排序,每个Order_Item都必须对应查询结果中的一列。

可以按升序(ASC)或降序(DESC)排序,可以按一列或多列排序。

如果指定了多个字段,则按自左至右的字段顺序排序。

20.在使用查询设计器创建查询时,为了指定在查询结果中是否包含重复记录(对应于DISTINCT),应使用的选项卡是______。

A)排序依据B)连接

C)筛选D)杂项

(分数:

2.00)

 A.

 B.

 C.

 D. √

解析:

[解析]DISTINCT短语是去掉查询结果中的重复值,对应于“杂项”选项卡。

21.SQL的数据操作语句不包括______。

A)INSERTB)UPDATE

C)DELETED)CHANGE

(分数:

2.00)

 A.

 B.

 C.

 D. √

解析:

[解析]SQL的数据操作包括数据插入(INSERT)、数据删除(DELETE)和数据更新(UPDATE)。

下列各题使用如下数据表:

学生.DBF:

学号(C,8),姓名(C,6),性别(C,2)

选课.DBF:

学号(C,8),课程号(C,3),成绩(N,3)

(分数:

10.00)

(1).从“选课”表中检索成绩大于等于60并且小于90的记录信息,正确的SQL命令是______。

A.SELECT*FROM选课WHERE成绩BETWEEN60AND89

B.SELECT*FROM选课WHERE成绩BETWEEN60TO89

C.SELECT*FROM选课WHERE成绩BETWEEN60AND90

D.SELECT*FROM选课WHERE成绩BETWEEN60TO90(分数:

2.00)

 A. √

 B.

 C.

 D.

解析:

[解析]本题考查的知识点是SQL查询。

“BETWEEN…AND”是SQL语句特殊的运输符表示在“…和…之间”两边的数值也包括。

即本题的答案为A。

(2).检索还未确定成绩的学生选课信息,正确的SQL命令是______。

A.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课

WHERE学生.学号=选课.学号AND选课.成绩ISNULL

B.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课

WHERE学生.学号=选课.学号AND选课.成绩=NULL

C.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课

ON学生.学号=选课.学号WHERE选课.成绩ISNULL

D.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课

ON学生.学号=选课.学号WHERE选课.成绩=NULL(分数:

2.00)

 A. √

 B.

 C.

 D.

解析:

[解析]本题考查的知识点是SQL查询。

首先,本题的关键点在两个问题上“WHERE”和“ON”的选择,“ISNULL”和“=NULL”的选择。

首先,由超链接形式为“SELECT…FROM表名1JOIN表名2ON连接条件WHERE选择元组条件”可知,A、B选项错误。

其次空值不是一个确定的值,所以不能用“=”进行比较,C选项也错误。

即本题的答案为A。

(3).假设所有的选课成绩都已确定。

显示“101”号课程成绩中最高的10%记录信息,正确的SQL命令是______。

A.SELECT*TOP10FROM选课ORDERBY成绩WHERE课程号="101"

B.SELECT*PERCENT10FROM选课ORDERBY成绩DESCWHERE课程号="101"

C.SELECT*TOP140PERCENTFROM选课ORDERBY成绩WHERE课程号="101"

D.SELECT*TOP10PERCENTFROM选课ORDERBY成绩DESCWHERE课程号="101/(分数:

2.00)

 A.

 B.

 C.

 D. √

解析:

[解析]本题考查的知识点是SQL基本语法格式。

其语法格式为”SELECT数据TOP表达式PERCENTFROM表WHERE查询条件ORDERBY排序列ASC|DESC”,如果ORDERBY后省略,则为升序排列。

即本题的答案为D。

(4).假设

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1