10第三章习题-关系数据库标准语言SQL

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

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

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

资源描述

1第3章SQL语言习题一、单项选择题1.SQL语言是(B)的语言,易学习。A.过程化B.非过程化C.格式化D.导航式2.SQL语言是(C)语言。A.层次数据库B.网络数据库C.关系数据库D.非数据库3.SQL语言具有(B)的功能。A.关系规范化、数据操纵、数据控制B数据定义、数据操纵、数据控制C.数据定义、关系规范化、数据控制D.数据定义、关系规范化、数据操4.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,也是使用最频繁的语句是(A)。A.SELECTB.INSERTC.UPDATED.DELETE5.SQL语言具有两种使用方式,分别称为交互式SQL和(C)。A.提示式SQLB.用户式SQLC.嵌入式SQLD.解释式SQL6.SQL语言中,实现数据检索的语句是(A)。A.SELECTB.INSERTC.UPDATED.DELETE7.下列SQL语句中,修改表结构的是(A)。A.ALTERB.CREATEC.UPDATED.DELETE8.在SQL中,用户可以直接操作的是(D)。A基本表B视图C存储文件D基本表和视图9.在SQL的查询语句中,对应关系代数中“投影”运算的语句是(C)。AWHEREBFROMCSELECTDHAVING10.在SELECT语句中,需对分组情况满足的条件进行判断时,应使用(D)。AWHEREBGROUPBYCORDERBYDHAVING11.SQL中,与“NOTIN”等价的操作符是(D)。A=ANYBANYC=ALLDALL12.视图建立后,在数据字典中存放的是(C)。A查询语句B组成视图的表的内容C视图的定义D产生视图的表的定义第13到第16题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)其中:S#为学号,SN为姓名,SEX性别,AGE为年龄,DETP为系别,C#为课程号,CN为课程名,GRADE为成绩。213.检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是(A)。A.SELECTSN,AGE,SEXFROMSWHEREAGE(SELECTAGEFROMSWHERESN=’王华’)B.SELECTSN,AGE,SEXFROMSWHERESN=’王华’C.SELECTSN,AGE,SEXFROMSWHEREAGE(SELECTAGEWHERESN=’王华’)D.SELECTSN,AGE,SEXFROMSWHEREAGE王华.AGE14.检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是(D)。A.SELECTS#FROMSCWHEREC#=’C2’ANDGRADE=(SELECTGRADEFROMSCWHEREC#=’C2’)B.SELECTS#FROMSCWHEREC#=’C2’ANDGRADEIN(SELECTGRADEFROMSCWHEREC#=’C2’)C.SELECTS#FROMSCWHEREC#=’C2’ANDGRADENOTIN(SELECTGRADEFROMSCWHEREC#=’C2’)D.SELECTS#FROMSCWHEREC#=’C2’ANDGRADE=ALL(SELECTGRADEFROMSCWHEREC#=’C2’)15.检索学生姓名及其所选修课程的课程号和成绩。正确的SELECT语句是(C)。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.GRADEFROMSC,SWHERES.S#=SC.S#D.SELECTS.SN,SC.C#,SC.GRADEFROMS,SC16.检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT的语句是(B)。A.SELECTS#,SUM(GRDAE)FROMSCWHEREGRADE=60GROUPBYS#ORDERBY2DESCHAVINGCOUNT(*)=4B.SELECTS#,SUM(GRDAE)FROMSCWHEREGRADE=60GROUPBYS#HAVINGCOUNT(*)=4ORDERBY2DESCC.SELECTS#,SUM(GRDAE)FROMSCWHEREGRADE=60HAVINGCOUNT(*)=4GROUPBYS#ORDERBY2DESCD.SELECTS#,SUM(GRDAE)FROMSCWHEREGRADE=60ORDERBY2DESCGROUPBYS#HAVINGCOUNT(*)=417.假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系(D)。3A.SB.SC,CC.S,SCD.S,C,SC18.下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL操作(B)不能执行。职工表部门表职工号职工名部门号工资001李红01580005刘军01670025王芳03720038张强02650A.从职工表中删除行(‘025’,‘王芳’,‘03’,720)B.将行(‘005’,‘乔兴’,‘04’,750)插入到职工表中C.将职工号为‘001’的工资改为700D.将职工号为‘038’的部门号改为‘03’19.若用如下的SQL语句创建一个student表:CREATTABLEstudent(NOCHAR(4)NOTNULL,NAMECHAR(10)NOTNULL,SEXCHAR(2),AGEINT),可以插到student表中的是(B)。A.(‘1031’,‘曾华’,男,23)B.(‘1031’,‘曾华’,NULL,NULL)C.(NULL,‘曾华’,‘男’,‘23’)D.(‘1031’,NULL,‘男’,23)二、综合题1.已知学生表S和学生选课表SC其关系模式如下:S(SNO,SN,SD,PROV);SC(SNO,CN,GR),其中SNO为学号,SD为系名,PROV为省区,CN为课程名,GR为分数。试用SQL语言实现下列操作:(1)查询“信息系”的学生来自哪些省区。(2)按分数降序排序,输出“英语系”学生选修了“计算机”课程的学生的姓名和分数。2.设有学生表S(SNO,SN)(SNO为学生号,SN为姓名)和学生选修课程表SC(SNO,CNO,CN,G)(CNO为课程号,CN为课程名,G为成绩),试用SQL语言完成以下各操作:(1)创建一个视图V-SSC(SNO,SN,CNO,CN,G)。(2)从视图V-SSC上查询平均成绩在90分以上的SNO和平均分。3.假设有如下4个样本表:student(学生信息表)NONAMESEXBIRTHDAYCLASS108曾华男09/01/7795033部门号部门名主任01人事处高平02财务处蒋华03教务处许红04学生处杜琼4105107101109103匡明王丽李军王芳陆军男女男女南10/02/7501/23/7602/20/76/02/10/7506/03/749503195033950339503195031teacher(教师信息表)NONAMESEXBIRTHDAYPROFDEPART804856825831李成张旭王萍刘冰男男女女12/02/5803/12/6905/05/7208/14/77副教授讲师助教助教计算机系电子工程系计算机系电子工程系course(课程表)score(成绩表)CNOCNAMETNO3-1053-2456-1669-888计算机导论操作系统数字电路高等数学825804856100(1)列出至少有2名男生的班号。SELECTCLASSFROMSTUDENTWHERESEX=’男’GROUPBYCLASSHAVINGCOUNT(*)=2(2)显示student表中不姓“王”的同学记录。SELECT*FROMSTUDENTWHERENAMENOTLIKE’王%’(3)显示student表中每个学生的姓名和年龄。SELECTNAME,2007-YEAR(birthday)FROMSTUDENT(4)显示student表中最大和最小的birthday日期值。SELECTNAME,MAX(birthday),MIN(birthday)FROMSTUDENT(5)以班号和年龄从大到小的顺序显示student表中的全部记录。SELECTCLASS,NAME,birthdayFROMSTUDENTORDERBYCLASSDESC,birthday(6)显示“男”教师及其所上的课程。SELECTTEACHER.NAME,COURSE.NAMEFROMTEACHER,COURSEWHERETEACHER.NO=COURSE.TNOANDTEACHER.SEX=’男’(7)列出最高分同学的no、cno和degree列。SELECTNO,CNO,DEGREEFROMSCOREWHEREDEGREE=(SELECTMAX(DEGREE)NOCNODEGREE1031053-2453-24586755FROMSCORE)(8)列出和“李军”同性别的所有同学的name。SELECTNAMEFROMSTUDENTWHERESEX=(SELECTSEXFROMSTUDENTWHERENAME=’李军’)(9)列出和“李军”同性别并同班的同学name。SELECTNAMEFROMSTUDENTWHERESEX=(SELECTSEXFROMSTUDENTWHERENAME=’李军’)ANDCLASS=(SELECTCLASSFROMSTUDENTWHERENAME=’李军’)(10)列出所有选修“计算机导论”课程的“男”同学的成绩表。SELECTNO,CNO,DEGREEFROMSTUDENT,COURSE,SCOREWHERESTUEDNT.NO=SCORE.NOANDCOURSE.CNO=SCORE.CNOANDCOURSE.CNAME=’计算机导论’ANDSEX=’男’4、今有两个关系模式:(书后P148第8题)职工(职工号,姓名,年龄,职务,工资,部门号)部门(部门号,名称,经理名,地址,电话号)请用SQL的GRANT语句(加上视图机制)完成以下授权定义或存取控制功能:(1)用户王明对两个表有select权力;Grantselectontable职工,部门to王明;(2)用户李勇对两个表有insert和delete权力;Grantinsert,deleteontable职工,部门to李勇;(3)用户刘星对职工表有查询权力,对工资字段具有更新权力;Grantselect,update(工资)ontable职工to刘星;(4)用户张新具有修改这两个表的结构的权力;Grantaltertableontable职工,部门to张新;(5)用户周平具有对两个表所有权力(读、插、改、删数据),并具有给其他用户授权的权力;Grantallprivilegesontable职工,部门to周平withgrantoption(6)用户杨兰具有从每个部门职工中查询最高工资、最低工资、平均工资的权力,他不能查看每个人的工资。先建视图:Createviewmyview(部门号,最高工资,最低工资,平均工资)Asselect部门号,max(工资),min(工资),avg(工资)From职工Groupby部门号再授权:6Grantselectonviewmyviewto杨兰;

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

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

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

×
保存成功