第五章结构化查询语言SQL习题.docx

上传人:b****5 文档编号:8798968 上传时间:2023-05-15 格式:DOCX 页数:29 大小:106.62KB
下载 相关 举报
第五章结构化查询语言SQL习题.docx_第1页
第1页 / 共29页
第五章结构化查询语言SQL习题.docx_第2页
第2页 / 共29页
第五章结构化查询语言SQL习题.docx_第3页
第3页 / 共29页
第五章结构化查询语言SQL习题.docx_第4页
第4页 / 共29页
第五章结构化查询语言SQL习题.docx_第5页
第5页 / 共29页
第五章结构化查询语言SQL习题.docx_第6页
第6页 / 共29页
第五章结构化查询语言SQL习题.docx_第7页
第7页 / 共29页
第五章结构化查询语言SQL习题.docx_第8页
第8页 / 共29页
第五章结构化查询语言SQL习题.docx_第9页
第9页 / 共29页
第五章结构化查询语言SQL习题.docx_第10页
第10页 / 共29页
第五章结构化查询语言SQL习题.docx_第11页
第11页 / 共29页
第五章结构化查询语言SQL习题.docx_第12页
第12页 / 共29页
第五章结构化查询语言SQL习题.docx_第13页
第13页 / 共29页
第五章结构化查询语言SQL习题.docx_第14页
第14页 / 共29页
第五章结构化查询语言SQL习题.docx_第15页
第15页 / 共29页
第五章结构化查询语言SQL习题.docx_第16页
第16页 / 共29页
第五章结构化查询语言SQL习题.docx_第17页
第17页 / 共29页
第五章结构化查询语言SQL习题.docx_第18页
第18页 / 共29页
第五章结构化查询语言SQL习题.docx_第19页
第19页 / 共29页
第五章结构化查询语言SQL习题.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

第五章结构化查询语言SQL习题.docx

《第五章结构化查询语言SQL习题.docx》由会员分享,可在线阅读,更多相关《第五章结构化查询语言SQL习题.docx(29页珍藏版)》请在冰点文库上搜索。

第五章结构化查询语言SQL习题.docx

第五章结构化查询语言SQL习题

第五章结构化查询语言SQL

一.选择题(每小题只有一个正确答案)

1.不属于数据定义功能的SQL语句是(   )。

A.CREATTABLEB.CREATCURSOR

C.UPDATED.ALTERTABLE

2.从数据库中删除表的命令是()。

A.DROPTABLEB.ALTERTABLE

C.DELETETABLED.USE

3.建立表结构的SQL命令是()。

A.CREATCURSORB.CREATTABLE

C.CREATINDEXD.CREATVIEW

4.DELETEFROMSWHERE年龄>60语句的功能是()。

A.从S表中彻底删除年龄大于60岁的记录

B.S表中年龄大于60岁的记录被加上删除标记

C.删除S表

D.删除S表的年龄列

5.UPDATE-SQL语句的功能是()。

A.属于数据定义功能B.属于数据查询功能

C.可以修改表中某些列的属性D.可以修改表中某些列的内容

6.SELECT-SQL语句是()。

A.选择工作区语句B.数据查询语句

C.选择标准语句D.数据修改语句

7.关于INSERT-SQL语句描述正确的是()。

A.可以向表中插入若干条记录

B.在表中任何位置插入一条记录

C.在表尾插入一条记录

D.在表头插入一条记录

8.使用SQL语句进行分组检索时,为了去掉不满足条件的分组,应当()。

A.使用WHERE子句

B.在GROUPBY后面使用HAVING子句

C.先使用WHERE子句,再使用HAVING子句

D.先使用HAVING子句,再使用WHERE子句

9.在VisualFoxPro中,使用SQL命令将学生表STUDENT中的学生年龄AGE字段的值增加1岁,应该使用的命令是()。

A.REPLACEAGEWITHAGE+1

B.UPDATESTUDENTAGEWITHAGE+1

C.UPDATESETAGEWITHAGE+1

D.UPDATESTUDENTSETAGE=AGE+1

10.在VisualFoxPro中,以下关于删除记录的描述中,正确的是()。

A.SQL的DELETE命令在删除数据库表中的记录之前,不需要用USE命令打开表

B.SQL的DELETE命令和传统VisualFoxPro的DELETE命令在删除数据库表中的

记录之前,都需要用USE命令打开表

C.SQL的DELETE命令可以物理的删除数据库表中的记录,而传统VisualFoxPro的DELETE命令只能逻辑删除数据库表中的记录

D.传统VisualFoxPro的DELETE命令在删除数据库表中的记录之前不需要用USE命令打开表

11.求每个学生的平均成绩的SQL语句是()。

A.SELECT学生姓名,avg(成绩)FROMstudentGROUPBY成绩

B.SELECT学生姓名,avg(成绩)FROMstudentORDERBY成绩

C.SELECT学生姓名,avg(成绩)FROMstudentORDERBY学生姓名

D.SELECT学生姓名,avg(成绩)FROMstudentGROUPBY学生姓名

12.若要在“学生”和“课程”表中查找学号为123号学生的成绩,下列语句正确的是()。

A.SELECT学号,姓名,成绩FROM学生JOIN课程;

WHERE学号=123

B.SELECT学号,姓名,成绩FROM学生JOIN课程;

WHERE学号=123;

ON学生.学号=课程.学号

C.SELECT学号,姓名,成绩FROM学生JOIN课程;

ON学生.学号=课程.学号;

WHERE学号=123

D.SELECT学号,姓名,成绩FROM学生JOIN课程;

WHERE学生.学号=课程.学号

13.执行如下SQL语句

SELECTDISTINCT成绩FROM学生;

WHERE成绩=(SELECTmin(成绩)FROM学生)INTODBFstudent后,表student中的记录个数是()。

A.1B.2C.3D.4

14.若需统计“选课”表中已经选修了课程的学生人数,下面语句正确的是()。

A.SELECTCOUNT(DISTINCT学生号)FROM选课

B.SELECTCOUNT(学生号)FROM选课

C.SELECTCOUNT(*)FROM选课

D.SELECTCOUNT(DISTINCT*)FROM选课

15.“学生”表结构为(学号N(3),姓名C(5),性别C

(1),年龄N(3)),学号为主索引,若用SQL命令INSERT插入一个记录,下面语句正确的是()。

A.INSERTINTO学生(”123”,”步青云”,”女”,”20”)

B.INSERTINTO学生(NULL,”步青云”,”女”,”20”)

C.INSERTINTO学生(123,”步青云”,NULL,20)

D.INSERTINTO学生(123,步青云,女,20)

16.查询订购单号(字符型,长度为4)尾字符是"1"的错误命令是()。

A.SELECT*FROM订单WHERESUBSTR(订购单号,4)="1"

B.SELECT*FROM订单WHERESUBSTR(订购单号,4,1)="1"

C.SELECT*FROM订单WHERE"1"$订购单号

D.SELECT*FROM订单WHERERIGHT(订购单号,1)="1"

17.在SQL语句中,与表达式"工资BETWEEN1210AND1240"功能相同的表达式是()。

A.工资>=1210AND工资<=1240

B.工资>1210AND工资<1240

C.工资<=1210AND工资>1240

D.工资>=1210OR工资<=1240

18.在SQL语句中,与表达式"仓库号NOTIN("wh1","wh2")"功能相同的表达式是()。

A.仓库号="wh1"AND仓库号="wh2"

B.仓库号!

="wh1"OR仓库号#"wh2"

C.仓库号<>"wh1"OR仓库号!

="wh2"

D.仓库号!

="wh1"AND仓库号!

="wh2"

19.查询设计器中"联接"选项卡对应的SQL短语是()。

A.WHEREB.JOINC.SETD.ORDERBY

20.在SQLSELECT语句中用于实现关系的选择运算的短语是()。

A.FORB.WHILEC.WHERED.CONDITION

21.使用SQL语句将学生表S中年龄(AGE)大于30岁的记录删除,正确的命令是()。

A.DELETEFORAGE>30B.DELETEFROMSWHEREAGE>30

C.DELETESFORAGE>30D.DELETESWHEREAGE>30

22.使用SQL语句向学生表S(SNO,SN,AGE,SEX)中添加一条新记录,字段学号(SNO)、姓名(SN)、

性别(SEX)、年龄(AGE)的值分别为0401、王芳、女、18,正确命令是()。

A.APPENDINTOS(SNO,SN,SEX,AGE)VALUES(‘0401’,‘王芳’,‘女’,18)

B.APPENDSVALUES(‘0401’,‘王芳’,18,‘女’)

C.INSERTINTOS(SNO,SN,SEX,AGE)VALUES(‘0401’,‘王芳’,‘女’,18)

D.INSERTSVALUES(‘0401’,‘王芳’,18,‘女’)

23.在VisualFoxPro中,以下有关SQL的SELECT语句的叙述中,错误的是()。

A.SELECT子句中可以包含表中的列和表达式

B.SELECT子句中可以使用别名

C.SELECT子句规定了结果集中的列顺序

D.SELECT子句中列的顺序应该与表中列的顺序一致

24.下列关于SQL中HAVING子句的描述,错误的是()。

A.HAVING子句必须与GROUPBY子句同时使用

B.HAVING子句与GROUPBY子句无关

C.使用WHERE子句的同时可以使用HAVING子句

D.使用HAVING子句的作用是限定分组的条件

25.对于视图的使用,下列说法错误的是()。

A.利用视图可以更新数据表记录

B.利用视图可以实现多表查询

C.视图可以产生磁盘文件

D.视图可以作为查询数据源

26.下面关于查询的描述正确的是()。

A.可以使用CREATEVIEW打开查询设计器

B.使用查询设计器可以生成所有的SQL查询语句

C.使用查询设计器生成的SQL语句存盘后将存放在名为.QPR的文件中

D.使用DO语句执行查询时,可以不带扩展名

27.以下关于查询的描述正确的是()。

A.不能根据自由表建立查询

B.只能根据自由表建立查询

C.只能根据数据库表建立查询

D.可以根据数据库表和自由表建立查询

28.在当前盘当前目录下删除表student的命令是()。

A.DROPstudent

B.DELETETABLEstudent

C.DROPTABLEstudent

D.DELETEstudent

29.有如下SQL语句:

SELECTmax(成绩)INTOARRAYaFROMstudent

执行该语句后()。

A.a[1]的内容为max(成绩)

B.a[n]的内容为max(成绩)

C.a[0]的内容为max(成绩)

D.a的所有内容为max(成绩)

30.在SQL的CREATETABLE命令中用于定义满足实体完整性的主索引的短语是()。

A.DEFAULTB.UNIQUE

C.CHECKD.PRIMARYKEY

31.SQL的DELETE命令是指()。

A.从表中删除行

B.从表中删除列

C.从基本表中删除行

D.从基本表中删除列

32.对下列命令理解正确的是()。

UPDATE选课SET成绩=成绩+10

A.只对当前记录更新

B.对表中的记录的成绩全部更新

C.删除当前记录

D.删除全部表中的成绩值

33.“学生”表结构为(学号N(3),姓名C(3),性别C

(1),年龄N

(2)),学号为主索引,若用SQL命令检索所有比“张洋”年龄大的同学,下列语句正确的是()。

A.SELECT*FROM学生;

WHERE年龄>(SELECT年龄FROM学生;

WHERE姓名=”张洋”)

B.SELECT*FROM学生;

WHERE姓名=”张洋”

C.SELECT*FROM学生;

WHERE年龄>(SELECT年龄;

WHERE姓名=”张洋”)

D.SELECT*FROM学生;

WHERE年龄>”张洋”

34.查询选修“K1”的学生中成绩最高的学生的学号,下列语句正确的是()。

A.SELECT学号FROM选课;

WHERE课程号=”K1”AND成绩>=;

(SELECT成绩FROM选课;

WHERE课程号=”K1”)

B.SELECT学号FROM选课;

WHERE课程号=”K1”AND成绩IN;

(SELECT成绩FROM选课;

WHERE课程号=”K1”)

C.SELECT学号FROM选课;

WHERE课程号=”K1”AND成绩>=ALL;

(SELECT成绩FROM选课;

WHERE课程号=”K1”)

D.SELECT学号FROM选课;

WHERE课程号=”K1”AND成绩IN;

(SELECT成绩FROM选课)

第35-36题使用如下三个数据库表:

学生表:

S(学号,姓名,性别,出生日期,院系)

课程表:

C(课程号,课程名,学时)

选课成绩表:

SC(学号,课程号,成绩)

在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,其他均为字符型。

35.用SQL命令查询选修的每门课程的成绩都高于或等于85分的学生的学号和姓名,正确的命令是()。

A.SELECT学号,姓名FROMSWHERENOTEXISTS;

(SELECT*FROMSCWHERESC.学号=S.学号AND成绩<85)

B.SELECT学号,姓名FROMSWHERENOTEXISTS;

(SELECT*FROMSCWHERESC.学号=S.学号AND>=85)

C.SELECT学号,姓名FROMS,SC

WHERES.学号=SC.学号AND成绩>=85

D.SELECT学号,姓名FROMS,SC

WHERES.学号=SC.学号ANDALL成绩>=85

36.用SQL语言检索选修课程在5门以上(含5门)的学生的学号、姓名和平均成绩,并按平均成绩降序排列,正确的命令是()。

A.SELECTS.学号,姓名平均成绩FROMS,SC;

WHERES.学号=SC.学号;

GROUPBYS.学号HAVINGCOUNT(*)>=5ORDERBY平均成绩DESC

B.SELECT学号,姓名,AVG(成绩)FROMS,SC;

WHERES.学号=SC.学号ANDCOUNT(*)>=5;

GROUPBY学号ORDERBY3DESC

C.SELECTS.学号,姓名AVG(成绩)平均成绩FROMS,SC;

WHERES.学号=SC.学号ANDCOUNT(*)>=5;

GROUPBYS.学号ORDERBY平均成绩DESC

D.SELECTS.学号,姓名AVG(成绩)平均成绩FROMS,SC;

WHERES.学号=SC.学号;

GROUPBYS.学号HAVINGCOUNT(*)>=5ORDERBY3DESC

37.如果学生表student是使用下面的SQL语句创建的()。

CREATETABLEstudent(SNOC(4)PRIMARYKEYNOTNULL,;

SNC(8),;

SEXC

(2),;

AGEN

(2)CHECK(AGE>15ANDAGE<30))

下面的SQL语句中可以正确执行的是

A.INSERTINTOstudent(SNO,SEX,AGE)VALUES("S9","男",17)

B.INSERTINTOstudent(SN,SEX,AGE)VALUES("李安琦","男",20)

C.INSERTINTOstudent(SEX,AGE)VALUES("男",20)

D.INSERTINTOstudent(SNO,SN)VALUES("S9","安琦",16)

38.使用SQL语句从表STUDENT中查询所有姓王的同学的信息,正确的命令是:

()。

A.SELECT*FROMstudentWHERELEFT(姓名,2)="王"

B.SELECT*FROMstudentWHERERIGHT(姓名,2)="王"

C.SELECT*FROMstudentWHERETRIM(姓名,2)="王"

D.SELECT*FROMstudentWHERESTR(姓名,2)="王"

第39.-43.题使用如下表的数据:

部门表

部门号

部门名称

40

家用电器部

10

电视录摄像机部

20

电话手机部

30

计算机部

商品表

部门号

商品号

商品名称

单价

数量

产地

40

0101

A牌电风扇

200.00

10

广东

40

0104

A牌微波炉

350.00

10

广东

40

0105

B牌微波炉

600.00

10

广东

20

1032

C牌传真机

1000.00

20

上海

40

0107

D牌微波炉_A

420.00

10

北京

20

0110

A牌电话机

200.00

50

广东

20

0112

B牌手机

2000.00

10

广东

40

0202

A牌电冰箱

3000.00

2

广东

30

1041

B牌计算机

6000.00

10

广东

30

0204

C牌计算机

10000.00

10

上海

39.SQL语句

SELECT部门号,MAX(单价*数量)FROM商品表GROUPBY部门号

查询结果有几条记录?

()。

A.1B.4C.3D.10

40.SQL语句

SELECT产地,COUNT(*)提供的商品种类数;

FROM商品表;

WHERE单价>200;

GROUPBY产地HAVINGCOUNT(*)>=2;

ORDERBY2DESC

查询结果的第一条记录的产地和提供的商品种类数是()。

A.北京,1B.上海,2

C.广东,5D.广东,7

41.SQL语句

SELECT部门表.部门号,部门名称,SUM(单价*数量);

FROM部门表,商品表;

WHERE部门表.部门号=商品表.部门号;

GROUPBY部门表.部门号

查询结果是()。

A.各部门商品数量合计B.各部门商品金额合计

C.所有商品金额合计D.各部门商品金额平均值

42.SQL语句

SELECT部门表.部门号,部门名称,商品号,商品名称,单价;

FROM部门表,商品表;

WHERE部门表.部门号=商品表.部门号;

ORDERBY部门表.部门号DESC,单价

查询结果的第一条记录的商品号是()。

A.0101B.0202C.0110D.0112

43.SQL语句

SELECT部门名称FROM部门表WHERE部门号IN;

(SELECT部门号FROM商品表WHERE单价BETWEEN420AND1000)

查询结果是()。

A.家用电器部、电话手机部B.家用电器部、计算机部

C.电话手机部、电视录摄像机部D.家用电器部、电视录摄像机部

第44.-47.题使用如下三个表:

学生.DBF:

学号C(8),姓名C(12),性别C

(2),出生日期D,院系C(8)

课程.DBF:

课程编号C(4),课程名称C(10),开课院系C(8)

学生成绩.DBF:

学号C(8),课程编号C(4),成绩I

44.查询每门课程的最高分,要求得到的信息包括课程名称和分数。

正确的命令是()。

A.SELECT课程名称,SUM(成绩)AS分数FROM课程,学生成绩;

WHERE课程.课程编号=学生成绩.课程编号;

GROUPBY课程名称

B.SELECT课程名称,MAX(成绩)分数FROM课程,学生成绩;

WHERE课程.课程编号=学生成绩.课程编号;

GROUPBY课程名称

C.SELECT课程名称,SUM(成绩)分数FROM课程,学生成绩;

WHERE课程.课程编号=学生成绩.课程编号;

GROUPBY课程.课程编号

D.SELECT课程名称,MAX(成绩)AS分数FROM课程,学生成绩;

WHERE课程.课程编号=学生成绩.课程编号;

GROUPBY课程编号

45.统计只有2名以下(含2名)学生选修的课程情况,统计结果中的信息包括课程名称、开课院系和选修人数,并按选课人数排序。

正确的命令是()。

A.SELECT课程名称,开课院系,COUNT(课程编号)AS选修人数;

FROM学生成绩,课程WHERE课程.课程编号=学生成绩.课程编号;

GROUPBY学生成绩.课程编号HAVINGCOUNT(*)<=2;

ORDERBYCOUNT(课程编号)

B.B.SELECT课程名称,开课院系,COUNT(学号)选修人数;

FROM学生成绩,课程WHERE课程.课程编号=学生成绩.课程编号;

GROUPBY学生成绩.学号HAVINGCOUNT(*)<=2;

ORDERBYCOUNT(学号)

C.C.SELECT课程名称,开课院系,COUNT(学号)AS选修人数;

FROM学生成绩,课程WHERE课程.课程编号=学生成绩.课程编号;

GROUPBY课程名称HAVINGCOUNT(学号)<=2;

ORDERBY选修人数

D.D.SELECT课程名称,开课院系,COUNT(学号)AS选修人数;

FROM学生成绩,课程HAVINGCOUNT(课程编号)<=2;

GROUPBY课程名称ORDERBY选修人数

46.查询所有目前年龄是22岁的学生信息:

学号,姓名和年龄,正确的命令组是()。

A.CREATEVIEWAGE_LISTAS;

SELECT学号,姓名,YEAR(DATE())-YEAR(出生日期)年龄FROM学生

SELECT学号,姓名,年龄FROMAGE_LISTWHERE年龄=22

B.CREATEVIEWAGE_LISTAS;

SELECT学号,姓名,YEAR(出生日期)FROM学生

SELECT学号,姓名,年龄FROMAGE_LISTWHEREYEAR(出生日期)=22

C.CREATEVIEWAGE_LISTAS;

SELECT学号,姓名,YEAR(DATE())-YEAR(出生日期)年龄FROM学生

SELECT学号,姓名,年龄FROM学生WHEREYEAR(出生日期)=22

D.CREATEVIEWAGE_LISTASSTUDENT;

ELECT学号,姓名,YEAR(DATE())-YEAR(出生日期)年龄FROM学生

SELECT学号,姓名,年龄FROMSTUDENTWHERE年龄=22

47.向学生表插入一条记录的正确命令是()。

A.APPENDINTO学生VALUES("10359999",'张三','男','会计',{^1983-10-28})

B.INSERTINTO学生VALUES("10359999",'张三','男',{^1983-10-28},'会计')

C.APPENDINTO学生VALUES("10359999",'张三','男',{^1983-10-28},'会计')

D.INSERTINTO学生VAL

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

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2