第4章 SQL语言复习题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第4章SQL语言一、单项选择题1.SQL语言是的语言,易学习。A.过程化B.非过程化C.格式化D.导航式答案:B2.SQL语言是语言。A.层次数据库B.网络数据库C.关系数据库D.非数据库答案:C3.SQL语言具有的功能。A.关系规范化、数据操纵、数据控制B.数据定义、数据操纵、数据控制C.数据定义、关系规范化、数据控制D.数据定义、关系规范化、数据操纵答案:B4.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,也是使用最频繁的语句是。A.SELECTB.INSERTC.UPDATED.DELETE答案:A5.SQL语言具有两种使用方式,分别称为交互式SQL和。A.提示式SQLB.多用户SQLC.嵌入式SQLD.解释式SQL答案:C6.SQL语言中,实现数据检索的语句是。A.SELECTB.INSERTC.UPDATED.DELETE答案:A7.下列SQL语句中,修改表结构的是。A.ALTERB.CREATEC.UPDATED.INSERT答案:A第8到第11题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。8.检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是。A.SELECTSN,AGE,SEXFROMSWHEREAGE>(SELECTAGEFROMSWHERESN=’王华’)B.SELECTSN,AGE,SEXFROMSWHERESN=’王华’C.SELECTSN,AGE,SEXFROMSWHEREAGE>(SELECTAGEWHERESN=’王华’)D.SELECTSN,AGE,SEXFROMSWHEREAGE>王华.AGE答案:A9.检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是。A.SELECTS#FORMSCWHEREC#=’C2’ANDGRAD>=(SELECTGRADEFORMSCWHEREC#=’C2’)B.SELECTS#FORMSCWHEREC#=’C2’ANDGRADEIN(SELECTGRADEFORMSCWHEREC#=’C2’)C.SELECTS#FORMSCWHEREC#=’C2’ANDGRADENOTIN(SELECTGRADEFORMSCWHEREC#=’C2’)D.SELECTS#FORMSCWHEREC#=’C2’ANDGRADE>=ALL(SELECTGRADEFORMSCWHEREC#=’C2’)答案:D10.检索学生姓名及其所选修课程的课程号和成绩。正确的SELECT语句是。A.SELECTS.SN,SC.C#,SC.GRADEFROMSWHERES.S#=SC.S#B.SELECTS.SN,SC.C#,SC.GRADEFROMSCWHERES.S#=SC.GRADEC.SELECTS.SN,SC.C#,SC.GRADEFROMSJIONSCONS#=SC.S#D.SELECTS.SN,SC.C#,SC.GRADEFROMSJOINSC答案:C11.检索选修4门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT语句是()。A.SELECTS#,SUM(GRADE)FROMSCWHEREGRADE=60GROUPBYS#ORDERBY2DESCHAVINGCOUNT(*)=4B.SELECTS#,SUM(GRADE)FROMSCWHEREGRADE=60GROUPBYS#HAVINGCOUNT(*)=4ORDERBY2DESCC.SELECTS#,SUM(GRADE)FROMSCWHEREGRADE=60HAVINGCOUNT(*)=4GROUPBYS#ORDERBY2DESCD.SELECTS#,SUM(GRADE)FROMSCWHEREGRADE=60ORDERBY2DESCGROUPBYS#HAVINGCOUNT(*)=4答案:B12.假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系。A.SB.SC,CC.S,SCD.S,C,SC答案:D13.在数据库的如下两个表中,若雇员信息表的主关键字是雇员号,部门信息表中的主关键字是部门号。在下列所给的操作中,哪个不能执行______。部门信息表雇员信息表雇员号雇员名部门号工资001010056101张山王宏马林赵明020102042000120010001500A.从雇员信息表中删除行(’010’,’王宏’,’01’,1200)B.将行(’102’,’赵明’,’01’,1500)插入雇员信息表中C.将雇员信息表中,雇员=’010’的工资改为1600元D.将雇员信息表中,雇员=’101’的部门号改为’05’14.数据库的两个表同上,若雇员信息表的主关键字是雇员号,部门信息表的主关键字是部门号。在部门信息表中,哪一行可以被删除_________。A.部门号=’01’的行B.部门号=’02’的行C.部门号=’03’的行D.部门号=’04’的行15.若用如下的SQL语句创建一个student表:CREATETABLEstudent(NOC(4)NOTNULL,NAMEC(8)NOTNULL,SEXC(2),AGEN(2))可以插入到student表中的是。A.(’1031’,’曾华’,男,23)B.(’1031’,’曾华’,NULL,NULL)C.(NULL,’曾华’,’男’,’23’)D.(’1031’,NULL,’男’,23)答案:B16.与HAVING子句一起使用的子句是()。A.GROUPBYB.ORDERBYC.WHERED.JOIN答案:A17.FOREIGNKEY约束是()约束。A.实体完整性B.参照完整性C.用户自定义完整性D.域完整性答案:B18.视图创建完成后,数据字典中存放的是()。A.查询语句B.查询结果C.视图的定义D.所引用的基本表的定义答案:C19.查询中需要统计元组的个数时,应使用()函数。A.SUM(列名)B.COUNT(列名)C.COUNT(*)D.AVG(列名)答案:C20.查询中需要统计某列中值的个数应使用()函数。A.SUM(列名)B.COUNT(列名)C.COUNT(*)D.AVG(列名)部门号部门名负责人01020304业务部销售部服务部财务部王军李建刘伟陈威答案:B二、多项选择题第1题到第4题基于这样的3个表即学生表S、课程表C和学生选课表SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE成绩1.查询所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是(AC)。A.SELECTSN,AGE,SEXFROMSWHEREAGE(SELECTAGEFROMSWHERESN='王华')B.SELECTSN,AGE,SEXFROMSWHEREAGEANY(SELECTAGEFROMSWHERESN='王华')C.SELECTSN,AGE,SEXFROMSWHEREAGEALL(SELECTAGEFROMSWHERESN='王华')D.SELECTSN,AGE,SEXFROMSWHEREAGESOME(SELECTAGEFROMSWHERESN='王华')2.查询选修了课程号为“C2”的学生中成绩最高的学生的学号,正确的SELECT语句是(ABC)。A.SELECTS#FROMSCWHEREC#='C2'ANDGRADE=ALL(SELECTGRADEFROMSCWHEREC#='C2')B.SELECTS#FROMSCWHEREC#='C2'ANDGRADEIN(SELECTMAX(GRADE)FROMSCWHEREC#='C2')C.SELECTS#FROMSCWHEREC#='C2'ANDGRADE=(SELECTMAX(GRADE)FROMSCWHEREC#='C2')D.SELECTS#FROMSCWHEREC#='C2'ANDGRADE=ANY(SELECTGRADEFROMSCWHEREC#='C2')3.查询至少选修了两门课程的学生的姓名,正确的SELECT语句是(ACD)。A.SELECTS.SNFROMSJOINSCONS.S#=SC.S#GROUPBYS.S#HAVINGCOUNT(*)=2B.SELECTS.SNFROMSWHEREEXISTS(SELECTS#FROMSCGROUPBYS#HAVINGCOUNT(*)2)C.SELECTS.SNFROMSJOINSCS1ONS.S#=SC.S#JOINSCS2ONS1.S#=S2.S#WHERES1.C#!=S2.C#D.SELECTS.SNFROMSWHERES#IN(SELECTS#FROMSCGROUPBYS#HAVINGCOUNT(*)2)4.查询所有没有被学生选过的课程的名称,正确的SELECT语句是(BD)。A.SELECTC.CNFROMCJOINSCONSC.C#=C.C#WHEREC.C#ISNULLB.SELECTC.CNFROMCLEFTJOINSCONSC.C#=C.C#WHERESC.C#ISNULLC.SELECTC.CNFROMSCLEFTJOINCONSC.C#=C.C#WHERESC.C#ISNULLD.SELECTC.CNFROMSCRIGHTJOINCONSC.C#=C.C#WHERESC.C#ISNULL三、填空题1.SQL是。答案:结构化查询语言2.SQL语言的数据定义功能包括①、②、③和④。答案:①定义数据库②定义基本表③定义视图④定义索引3.视图是一个虚表,它是从①中导出的表。在数据库中,只存放视图的②,不存放视图的③。答案:①一个或几个基本表②定义③视图对应的数据4.设有如下关系表R、S和T:以R(BH,XM,XB,DWH)S(DWH,DWM)T(BH,XM,XB,DWH)①实现R∪T的SQL语句是。②实现DWH=‘100’(R)的SQL语句是。③实现∏XM,XB(R)的SQL语句是。④实现∏XM,DWH(XB=‘女’(R))的SQL语句是。⑤实现RS的SQL语句是。⑥实现∏XM,XB,DWM(XB=‘男’(RS))的SQL语句是。答案:①SELECT*FROMRUNIONSELECT*FROMT②SELECT*FROMRWHEREDWH=’100’③SELECTXM,XBFROMR④SELECTXM,DWHFROMRWHEREXB=’女’⑤SELECTR.BH,R.XM,R.XB,R.DWH,S.DWMFROMRJIONSONR.DWH=S.DWH⑥SELECTR.XM,R.XB,S.DWMFROMRJOINSONR.DWH=S.DWHWHERER.XB=’男’5.设有如下关系表R:R(No,NAME,SEX,AGE,CLASS)主关键字是NO其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。写出实现下列功能的SQL语句。①插入一个记录(25,’李明’,’男’,21,’95031’);。②插入’95031’班学号为30、姓名为’郑和’的学生记录;。③将学号为10的学生姓名改为’王华’;。④将所有“95101”班号改为’95091’;。⑤删除学号为20的学生记录;。⑥删除姓’王’的学生记录;。答案:①INSERTINTORVALUES(25,’李明’,’男’,21,’95031’

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功