SQL练习题Word文档下载推荐.docx
- 文档编号:20474517
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:25
- 大小:122.64KB
SQL练习题Word文档下载推荐.docx
《SQL练习题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《SQL练习题Word文档下载推荐.docx(25页珍藏版)》请在冰豆网上搜索。
A)通过指定主关键字B)通过指定惟一索引
C)使用DISTINCT子句D)使用HAVING子句
(8)在VisualFoxPro中,以下关于SQL的SELECT语句的描述中错误的是(D)。
A)SELECT子句中可以包含表中的列和表达式B)SELECT子句中可以使用别名
C)SELECT子句规定了结果集中的列顺序
D)SELECT子句中列的顺序应该与表中列的顺序一致
(9)下列关于SQL的HAVING子句的描述中错误的是(B)。
A)HAVING子句必须与GROUPBY子句同时使用
B)HAVING子句与GROUPBY子句无关
C)使用WHERE子句的同时可以使用HAVING子句
D)使用HAVING子句的作用是限定分组的条件
(10)~(11)题使用如下三个数据库表:
学生表:
S(学号,姓名,性别,出生日期,院系)
课程表:
C(课程号,课程名,学时)
选课成绩表:
SC(学号,课程号,成绩)
在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,其他均为字符型。
(10)用SQL语句查询选修的每门课程的成绩都高于或等于85分的学生的学号和姓名,正确的命令是(A)。
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成绩>
(11)用SQL语句检索选修课程在5门以上(含5门)的学生的学号、姓名和平均成绩,并按平均成绩降序排序,正确的命令是(D)。
A)SELECTS.学号,姓名,平均成绩FROMS,SC;
WHERES.学号=SC.学号;
GROUPBYS.学号HAVINGCOUNT(*)>
=5ORDERBY平均成绩DESC
B)SELECT学号,姓名,AVG(成绩)FROMS,SC;
WHERES.学号=SC.学号ANDCOUNT(*)>
=5;
GROUPBY学号ORDERBY3DESC
C)SELECTS.学号,姓名(成绩)平均成绩FROMS,SC;
GROUPBYS.学号ORDERBY平均成绩DESC
D)SELECTS.学号,姓名,AVG(成绩)平均成绩FROMS,SC;
=5ORDERBY3DESC
(12)下列关于视图的描述中正确的是(B)。
A)视图保存在项目文件中B)视图保存在数据库文件中
C)视图保存在表文件中D)视图保存在视图文件中
(13)在VisualFoxPro中,要运行查询文件query1.qpr,可以使用命令(B)。
A)DOquery1B)DOquery1.qprC)DOQUERYquery1D)RUNquery1
(14)~(20)题使用如下三个数据库表:
职员.dbf:
职员号C(3),姓名C(6),性别C
(2),组号N
(1),职务C(10)
客户.dbf:
客户号C(4),客户名C(36),地址C(36),所在城市C(36)
订单.dbf:
订单号C(4),客户名C(4),职员号C(3),签订日期D,金额N(6.2)
(14)查询金额最大的10%订单的信息,正确的SQL语句是(D)。
A)SELECT*TOP10PERCENTFROM订单
B)SELECTTOP10%*FROM订单ORDERBY金额
C)SELECT*TOP10PERCENTFROM订单ORDERBY金额
D)SELECTTOP10PERCENT*FROM订单ORDERBY金额DESC
(15)查询订单数在3个以上、订单的平均金额在200元以上的职员号,正确的SQL语句是(B)。
A)SELECT职员号FROM订单GROUPBY职员号HAVINGCOUNT(*)>
3ANDAVG_金额>
200
B)SELECT职员号FROM订单GROUPBY职员号HAVINGCOUNT(*)>
3ANDAVG(金额)>
C)SELECT职员号FROM订单GROUPBY职员号HAVINGCOUNT(*)>
3ANDWHEREAVG(金额)>
D)SELECT职员号FROM订单GROUPBY职员号WHERECOUNT(*)>
(16)查询2005年1月1日后签订的订单,显示订单的订单号、客户名以及签订日期,正确的SQL语句是(A)。
A)SELECT订单号,客户名,签订日期FROM订单JOIN客户;
ON订单.客户号=客户.客户号WHERE签订日期>
{^2005-1-1}
B)SELECT订单号,客户名,签订日期FROM订单JOIN客户;
WHERE订单.客户号=客户.客户号AND签订日期>
C)SELECT订单号,客户名,签订日期FROM订单,客户;
WHERE订单.客户号=客户.客户号AND签订日期<
D)SELECT订单号,客户名,签订日期FROM订单,客户;
ON订单.客户号=客户.客户号AND签订日期<
(17)查询没有签订任何订单的职员信息(职员号和姓名),正确的SQL语句是(C)。
A)SELECT职员.职员号,姓名FROM职员JOIN订单;
ON订单.职员号=职员.职员号GROUPBY职员.职员号HAVINGCOUNT(*)=0
B)SELECT职员.职员号,姓名FROM职员LEFTJOIN订单;
C)SELECT职员号,姓名FROM职员;
WHERE职员号NOTIN(SELECT职员号FROM订单)
D)SELECT职员.职员号,姓名FROM职员;
WHERE职员.职员号<
>
(SELECT订单.职员号FROM订单)
(18)有如下SQL语句:
SELECT订单号,签订日期,金额FROM订单,职员;
WHERE订单.职员号=职员.职员号AND姓名="
李二"
与如上语句功能相同的SQL语句是(B)。
A)SELECT订单号,签订日期,金额FROM订单;
WHEREEXISTS(SELECT*FROM职员WHERE姓名="
)
B)SELECT订单号,签订日期,金额FROM订单WHERE;
EXISTS(SELECT*FROM职员WHERE职员号=订单.职员号AND姓名="
C)SELECT订单号,签订日期,金额FROM订单;
WHEREIN(SELECT职员号FROM职员WHERE姓名="
D)SELECT订单号,签订日期,金额FROM订单WHEREIN;
(SELECT职员号FROM职员WHERE职员号=订单.职员号AND姓名="
(19)从订单表中删除客户号为“1001”的订单记录,正确的SQL语句是(C)。
A)DROPFROM订单WHERE客户号="
1001"
B)DROPFROM订单FOR客户号="
C)DELETEFROM订单WHERE客户号="
D)DELETEFROM订单FOR客户号="
(20)将订单号为“0060”的订单金额改为169元,正确的SQL语句是(A)。
A)UPDATE订单SET金额=169WHERE订单号="
0060"
B)UPDATE订单SET金额WITH169WHERE订单号="
C)UPDATEFROM订单SET金额=169WHERE订单号="
D)UPDATEFROM订单SET金额WITH169WHERE订单号="
(21)在VisualFoxPro中,下列描述正确的是(A)。
A)利用视图可以修改数据B)利用查询可以修改数据
C)查询和视图具有相同的作用D)视图可以定义输出去向
(22)SQL的数据操作语句不包括(D)。
A)INSERTB)UPDATEC)DELETED)CHANGE
(23)“图书”表中有字符型字段“图书号”,要求用SQLDELETE命令将图书号以字母A开头的图书记录全部打上删除标记,正确的命令是(D)。
A)DELETEFROM图书FOR图书号LIKE"
A%"
B)DELETEFROM图书WHILE图书号LIKE"
C)DELETEFROM图书WHERE图书号="
A*"
D)DELETEFROM图书WHERE图书号LIKE"
(24)SQL语句中修改表结构的命令是(A)。
A)ALTERTABLEB)MODIFYTABLE
C)ALTERSTRUCTURD)MODIFYSTRUCTURE
(25)假设“订单”表中有订单号、职员号、客户号和金额字段,正确的SQL语句只能是(B)。
A)SELECT职员号FROM订单;
GROUPBY职员号HAVINGCOUNT(*)>
B)SELECT职员号FROM订单;
C)SELECT职员号FROM订单;
3WHEREAVG(金额)>
D)SELECT职员号FROM订单;
GROUPBY职员号WHERECOUNT(*)>
(26)要使“产品”表中所有产品的单价上浮8%,正确的SQL语句是(D)。
A)UPDATE产品SET单价=单价+单价*8%FORALL
B)UPDATE产品SET单价=单价*1.08FORALL
C)UPDATE产品SET单价=单价+单价*8%
D)UPDATE产品SET单价=单价*1.08
(27)假设同一名称的产品有不同的型号和产地,则计算每种产品平均单价的SQL语句是(D)。
A)SELECT产品名称,AVG(单价)FROM产品GROUPBY单价
B)SELECT产品名称,AVG(单价)FROM产品ORDERBY单价
C)SELECT产品名称,AVG(单价)FROM产品ORDERBY产品名称
D)SELECT产品名称,AVG(单价)FROM产品GROUPBY产品名称
(28)设有S(学号,姓名,性别)和SC(学号,课程号,成绩)两个表,用下列SQL语句检索选修的每门课程的成绩都高于或等于85分的学生的学号、姓名和性别,正确的是(D)。
A)SELECT学号,姓名,性别FROMsWHEREEXISTS;
(SELECT*FROMscWHEREsc.学号=s.学号AND成绩<
B)SELECT学号,姓名,性别FROMsWHERENOTEXISTS;
(SELECT*FROMscWHEREsc.学号=s.学号AND成绩<
C)SELECT学号,姓名,性别FROMsWHEREEXISTS;
(SELECT*FROMscWHEREsc.学号=s.学号AND成绩>
D)SELECT学号,姓名,性别FROMsWHERENOTEXISTS;
(29)从“订单”表中删除签订日期为2004年1月10日之前(含)的订单记录,正确的SQL语句是(C)。
A)DROPFROM订单WHERE签订日期<
={^2004-1-10}
B)DROPFROM订单FOR签订日期<
C)DELETEFROM订单WHERE签订日期<
D)DELETEFROM订单FOR签订日期<
30)在SQLSELECT语句的ORDERBY短语中如果指定了多个字段,则
A)无法进行排序B)只按第一个字段排序
C)按从左至右优先依次排序D)按字段排序优先级依次排序答案:
C
31)
A)ALTERTABLE歌手ADD最后得分F(6,2)
B)ALTERDBF歌手ADD最后得分F6,2
C)CHANGETABLE歌手ADD最后得分F(6,2)
D)CHANGETABLE学院INSERT最后得分F6,2答案:
A
32)
A)INSERTVALUES("
9.9,"
105"
)INTO评分(歌手号,分数,评委号)
B)INSERTTO评分(歌手号,分数,评委号)VALUES("
C)INSERTINTO评分(歌手号,分数,评委号)VALUES("
D)INSERTVALUES("
)TO评分(歌手号,分数,评委号)答案:
33)
A)SELECT歌手号,(COUNT(分数)-MAX(分数)-MIN(分数))/(SUM(*)-2)最后得分;
FROM评分INTODBFTEMPGROUPBY歌手号ORDERBY最后得分DESC
B)SELECT歌手号,(COUNT(分数)-MAX(分数)-MIN(分数))/(SUM(*)-2)最后得分;
FROM评分INTODBFTEMPGROUPBY评委号ORDERBY最后得分DESC
C)SELECT歌手号,(SUM(分数)-MAX(分数)-MIN(分数))/(COUNT(*)-2)最后得分;
D)SELECT歌手号,(SUM(分数)-MAX(分数)-MIN(分数))/(COUNT(*)-2)最后得分;
FROM评分INTODBFTEMPGROUPBY歌手号ORDERBY最后得分DESC答案:
D
34)
A)SELECT*FROM歌手WHERE最后得分BETWEEN9.00AND8.00
B)SELECT*FROM歌手WHERE最后得分>
=8.00AND最后得分<
=9.00
C)SELECT*FROM歌手WHERE最后得分>
9.00OR最后得分<
8.00
D)SELECT*FROM歌手WHERE最后得分<
=8.00AND最后得分>
=9.00答案:
B
35)
A)CHANGETABLE评分ALTER分数SETCHECK分数>
=0AND分数<
=10
B)ALTERTABLE评分ALTER分数SETCHECK分数>
C)ALTERTABLE评分ALTER分数CHECK分数>
D)CHANGETABLE评分ALTER分数SETCHECK分数>
=0OR分数<
=10答案:
36)
A)CREATEVIEWmyviewASSELECT*FROM歌手WHERELEFT(歌手号,1)="
1"
B)CREATEVIEWmyviewASSELECT*FROM歌手WHERELIKE("
歌手号)
C)CREATEVIEWmyviewSELECT*FROM歌手WHERELEFT(歌手号,1)="
D)CREATEVIEWmyviewSELECT*FROM歌手WHERELIKE("
歌手号)答案:
37)
A)DELETEmyviewVIEWB)DELETEmyview
C)DROPmyviewVIEWD)DROPVIEWmyview答案:
38)
A)SELECT*FROMtempWHEREtemp.歌手号=歌手.歌手号TOARRAYa
B)SELECT*FROMtempWHEREtemp.歌手号=歌手.歌手号INTOARRAYa
C)SELECT*FROMtempWHEREtemp.歌手号=歌手.歌手号TOFILEa
D)SELECT*FROMtempWHEREtemp.歌手号=歌手.歌手号INTOFILEa答案:
39)
A)SELECTDISTINCT歌手号FROM歌手WHERE最后得分>
=;
(SELECTMAX(最后得分)FROM歌手WHERESUBSTR(歌手号,1,1)="
2"
B)SELECTDISTINCT歌手号FROM歌手WHERE最后得分>
=;
(SELECTMIN(最后得分)FROM歌手WHERESUBSTR(歌手号,1,1)="
C)SELECTDISTINCT歌手号FROM歌手WHERE最后得分>
=ANY;
(SELECT最后得分FROM歌手WHERESUBSTR(歌手号,1,1)="
D)SELECTDISTINCT歌手号FROM歌手WHERE最后得分>
=SOME;
)答案:
40)以下关于“视图”的描述正确的是
A)视图保存在项目文件中B)视图保存在数据库中
C)视图保存在表文件中D)视图保存在视图文件中答案:
41)以下不属于SQL数据操作命令的是A
A)MODIFYB)INSERTC)UPDATED)DELETE
42)SQL的SELECT语句中,“HAVING<
条件表达式>
”用来筛选满足条件的D
A)列B)行C)关系D)分组
43)设有关系SC(SNO,CNO,GRADE),其中SNO、CNO分别表示学号和课程号(两者均为字符型),GRADE表示成绩(数值型)。
若要把学号为“S101”的同学,选修课程号为“C11”,成绩为98分的记录插入到表SC中,正确的语句是D
A)INSERTINTOSC(SNO,CNO,GRADE)VALUES('
S101'
'
C11'
98'
B)INSERTINTOSC(SNO,CNO,GRADE)VALUES(S101,C11,98)
C)INSERT('
'
)INTOSC
D)INSERTINTOSCVALUES('
98)
44)以下有关SELECT短语的叙述中错误的是B
A)SELECT短语中可以使用别名
B)SELECT短语中只能包含表中的列及其构成的表达式
C)SELECT短语规定了结果集中的列顺序
D)如果FROM短语引用的两个表有同名的列,则SELECT短语引用它们时必须使用表名前缀加以限定
45)在SQL语句中,与表达式“年龄BETWEEN12AND46”功能相同的表达式是D
A)年龄>
=12OR<
=46B)年龄>
=12AND<
=46
C)年龄>
=12OR年龄<
=46D)年龄>
=12AND年龄<
=46
46)在SELECT语句中,以下有关HAVING短语的正确叙述是A
A)HAVING短语必须与GROUPBY短语同时使用
B)使用HAVING短语的同时不能使
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 练习题
![提示](https://static.bdocx.com/images/bang_tan.gif)