《数据库系统概论堂练习题.pptx》由会员分享,可在线阅读,更多相关《数据库系统概论堂练习题.pptx(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、11 1、查询选修、查询选修3 3门以上课程的学生总成绩门以上课程的学生总成绩(不统不统计不计不 及格的课程及格的课程),),并要求按总成绩的降序排列。并要求按总成绩的降序排列。正确的正确的SELECTSELECT语句是语句是 。BSELECT SNO,SUM(SCORE)SELECT SNO,SUM(SCORE)FROM ScoreFROM ScoreWHERE SCORE=60WHERE SCORE=60GROUP BY SNO GROUP BY SNO ORDER BY 2 DESC ORDER BY 2 DESC HAVING COUNT(*)=3HAVING COUNT(*)=3SE
2、LECT SNO,SUM(SCORE)SELECT SNO,SUM(SCORE)FROM ScoreFROM ScoreWHERE SCORE=60WHERE SCORE=60ORDER BY 2 DESC ORDER BY 2 DESC GROUP BY SNO GROUP BY SNO HAVING COUNT(*)=3HAVING COUNT(*)=3SELECT SNO,SUM(SCORE)SELECT SNO,SUM(SCORE)FROM ScoreFROM ScoreWHERE SCORE=60WHERE SCORE=60HAVING COUNT(*)=3HAVING COUNT(
3、*)=3GROUP BY SNO GROUP BY SNO ORDER BY 2 DESC ORDER BY 2 DESC SELECT SNO,SUM(SCORE)SELECT SNO,SUM(SCORE)FROM ScoreFROM ScoreWHERE SCORE=60WHERE SCORE=60GROUP BY SNO GROUP BY SNO HAVING COUNT(*)=3HAVING COUNT(*)=3ORDER BY 2 DESCORDER BY 2 DESCABDC第1页/共25页22 2、查询选修课程、查询选修课程“3-1053-105”的学生中成绩最高的学生中成绩最高
4、的的 学生学号。正确的学生学号。正确的SELECTSELECT语句是语句是 。DSELECT SNO FROM ScoreSELECT SNO FROM ScoreWHERE CNO=WHERE CNO=3-1053-105 AND SCORE=AND SCORE=(SELECT SCORE(SELECT SCORE FROM Score FROM Score WHERE CNO=WHERE CNO=3-1053-105)SELECT SNO FROM ScoreSELECT SNO FROM ScoreWHERE CNO=WHERE CNO=3-1053-105 AND SCORE=ALLA
5、ND SCORE=ALL(SELECT SCORE(SELECT SCORE FROM Score FROM Score WHERE CNO=WHERE CNO=3-1053-105)SELECT SNO FROM ScoreSELECT SNO FROM ScoreWHERE CNO=WHERE CNO=3-1053-105 AND SCORE NOT INAND SCORE NOT IN(SELECT SCORE(SELECT SCORE FROM Score FROM Score WHERE CNO=WHERE CNO=3-1053-105)SELECT SNO FROM ScoreSE
6、LECT SNO FROM ScoreWHERE CNO=WHERE CNO=3-1053-105 AND SCORE INAND SCORE IN(SELECT SCORE(SELECT SCORE FROM Score FROM Score WHERE CNO=WHERE CNO=3-1053-105)ABDC第2页/共25页33 3、设有职工关系模式如下:、设有职工关系模式如下:people(pno,pname,sex,job,wage,dptno)people(pno,pname,sex,job,wage,dptno)职工职工 (职工号职工号,职工姓名职工姓名,性别性别,职业职业,工资
7、工资,所在部门号所在部门号),请写出下列查询使用的请写出下列查询使用的SQLSQL语句:语句:(1 1)查询工资比所在部门平均工资高的所有职工信息。)查询工资比所在部门平均工资高的所有职工信息。(2 2)查询工资高于)查询工资高于“张三张三”工资的所有职工信息。工资的所有职工信息。SELECT*SELECT*FROM People xFROM People xWHERE wage WHERE wage (SELECT AVG(wage)(SELECT AVG(wage)FROM People y FROM People y WHERE x.dptno=y.dptno)WHERE x.dptno
8、=y.dptno)SELECT*SELECT*FROM People FROM People WHERE wage WHERE wage (SELECT wage (SELECT wage FROM People FROM People WHERE pname=WHERE pname=张三张三)第3页/共25页44 4、以下、以下SQLSQL操作,操作,不能执行。(其中职不能执行。(其中职工号和部门号为主码)工号和部门号为主码)职工号职工号职工号职工号 职工名职工名职工名职工名 部门号部门号部门号部门号工资工资工资工资001001李红李红李红李红0101580580005005刘军刘军刘军刘军
9、0101670670025025王芳王芳王芳王芳0303720720038038张强张强张强张强0202650650A A、从职工表中删除行、从职工表中删除行(025025,王芳王芳,0303,720),720)B B、将行、将行(005005,乔星乔星,0404,750),750)插入到职工表中插入到职工表中C C、将职工号为、将职工号为“001001”的工资改为的工资改为700700D D、将职工号为、将职工号为“038038”的部门改为的部门改为 0303 E E、将职工号为、将职工号为“001001”的部门改为的部门改为 0505 部门号部门号部门号部门号部门名部门名部门名部门名主任主
10、任主任主任0101人事处人事处人事处人事处高平高平高平高平0202财务处财务处财务处财务处姜华姜华姜华姜华0303教务处教务处教务处教务处许虹许虹许虹许虹0404学工处学工处学工处学工处杜琼杜琼杜琼杜琼B E第4页/共25页55 5、若用如下的、若用如下的SQLSQL语句创建一个表语句创建一个表studentstudent:则可以插入到则可以插入到student student 表中的是表中的是 。A A、(10311031,王海王海,男男,20),20)B B、(10311031,王海王海,NULL,NULL),NULL,NULL)C C、(NULL,(NULL,王海王海,男男,2020)D
11、 D、(10311031,NULL,NULL,男男,23),23)BCREATE TABLE Student (Sno CHAR(4)NOT Null,Sname CHAR(8)NOT Null,Ssex CHAR(2),Sage INT)第5页/共25页6(1 1)实现)实现R R T T的的SQLSQL语句是语句是 。(2 2)实现)实现 DWH=100DWH=100(R)(R)的的SQLSQL语句是语句是 。(3 3)实现)实现XM,XBXM,XB(R)(R)的的SQLSQL语句是语句是 。(4 4)实现)实现XM,XB XM,XB(XB=XB=女女(R)(R)的的SQLSQL语句是语句
12、是 。(5 5)实现)实现R SR S的的SQLSQL语句是语句是 。(6 6)实现)实现XM,XB,DWMXM,XB,DWM(XB=XB=男男(R S)(R S)的的SQLSQL语句语句 是是 。6 6、设有如下关系表、设有如下关系表R R,S S和和T T:R(BH,XM,XB,DWH)R(BH,XM,XB,DWH)S(DWH,DWM)S(DWH,DWM)T(BH,XM,XB,DWH)T(BH,XM,XB,DWH)第6页/共25页7(1 1)SELECT*FROM R UNION SELECT*FROM TSELECT*FROM R UNION SELECT*FROM T(2 2)SELE
13、CT*FROM R WHERE DWH=SELECT*FROM R WHERE DWH=100100(3 3)SELECT XM,XB FROM RSELECT XM,XB FROM R(4 4)SELECT XM,DWH FROM RSELECT XM,DWH FROM R WHERE XB=WHERE XB=女女(5 5)SELECT R.BH,R.XM,R.XB,R.DWH,S.DWM SELECT R.BH,R.XM,R.XB,R.DWH,S.DWM FROM R,S FROM R,S WHERE R.DWH=S.DWHWHERE R.DWH=S.DWH(6 6)SELECT R.XM
14、,R.XB,S.DWM SELECT R.XM,R.XB,S.DWM FROM R,S FROM R,S WHERE R.DWH=S.DWH AND R.XB=WHERE R.DWH=S.DWH AND R.XB=男男 第7页/共25页5.假设选课关系如下图所示,执行以下SQL语句:SELECTCOUNT(DISTINCT学号)FROM选课WHERE成绩70查询结果中包含的元组数目是()。A)1B)2C)3D)4选课8学号课程号成绩20001DB9020001GIS8020002DBnull20002GIS6520003DB98第8页/共25页9.SQL的SELECT语句中,“HAVING条件
15、表达式”用来筛选满足条件的()。A)列 B)行C)关系D)分组9第9页/共25页12.在嵌入式SQL中,为了把集合操作转换成单记录处理方式,引进了以下哪个概念()。A)宿主语言B)游标C)DDL语言D)DML语言10第10页/共25页14.下列SQL语句中,能够实现“收回用户LI对学生表(STUD)中学号(Sno)的修改权”这一功能的是()。A)REVOKEUPDATE(Sno)ONTABLEFROMLIB)REVOKEUPDATE(Sno)ONTABLEFROMPUBLICC)REVOKEUPDATE(Sno)ONSTUDFROMLID)REVOKEUPDATE(Sno)ONSTUDFROM
16、PUBLIC11第11页/共25页1.SQL以同一种语法格式,提供_和_两种使用方式。12第12页/共25页五、综合题(共20分,每小题4分)假设有如下学生-教师-课程信息数据库(其中加下划线的是主码),试完成下列各小题:Student(Sno,Sname,Sage,Ssex,Sclass)(学生信息表)各属性分别代表学号、姓名、年龄、性别、所在班级Course(Cno,Cname,Tno)(课程信息表)各属性分别代表课程号、课程名、授课教师编号SC(Sno,Cno,Grade)(选课表)各属性分别代表学号、课程号、成绩1)试用关系代数表示下列查询语句:(1)查询所有男生的姓名和学号;(2)查
17、询学号为012091001选修的所有课程的课程号;2)试为下列查询要求写出SQL表达式:(3)试用SQL语句统计女生的人数;(4)查询012092班学生的学号、姓名、年龄、性别;(5)查询选修了“数据库原理”课程且成绩高于90分的学生学号和成绩。13第13页/共25页(1)查询所有男生的姓名和学号;答:(1)Sname,Sno(Ssex=男(Student)(2)查询学号为012091001选修的所有课程号;答:(2)Cno(Sno=012091001(SC)(3)试用SQL语句统计女生的人数;SELECTCOUNT(*)FROMStudentWHERESsex=女(4)查询012092班学生
18、的学号、姓名、年龄、性别;SELECTSno,Sname,Sage,SsexFROMStudentWHERESclass=012092(5)查询选修了“数据库原理”课程且成绩高于90分的学生学号和成绩。SELECTSno,GradeFROMSC,CourseWHERESC.Cno=Course.CnoandCname=数据库原理andGrade=9014第14页/共25页三、问答题(每题6分,共30分)4.简述视图的作用。15第15页/共25页16书P127 第5题设有一个设有一个SPJSPJ数据库,包括数据库,包括S S,P P,J J,SPJSPJ四个关系模式:四个关系模式:S(SNO,S
19、NAME,STATUS,CITY)S(SNO,SNAME,STATUS,CITY)P(PNO,PNAME,COLOR,WEIGHT)P(PNO,PNAME,COLOR,WEIGHT)J(JNO,JNAME,CITY)J(JNO,JNAME,CITY)SPJ(SNO,PNO,JNO,QTY)SPJ(SNO,PNO,JNO,QTY)关系中的具体数据见书关系中的具体数据见书P75P75四个表。四个表。试用试用SQLSQL语言完成下列各项操作。语言完成下列各项操作。第16页/共25页17 1 1、找出所有供应商的姓名和所在城市。找出所有供应商的姓名和所在城市。2 2、找出所有零件的名称、颜色、重量。找
20、出所有零件的名称、颜色、重量。3 3、找出使用供应商找出使用供应商S1S1所供应零件的工程号码。所供应零件的工程号码。4 4、找出工程项目找出工程项目J2J2使用的各种零件的名称及其数量。使用的各种零件的名称及其数量。5 5、找出上海厂商供应的所有零件号码。找出上海厂商供应的所有零件号码。6 6、找出使用上海产的零件的工程名称。找出使用上海产的零件的工程名称。7 7、找出没有使用天津产的零件的工程号码。找出没有使用天津产的零件的工程号码。8 8、把全部红色零件的颜色改成蓝色。把全部红色零件的颜色改成蓝色。9 9、由由S5S5供给供给J4J4的零件的零件P6P6改为由改为由S3S3供应,请作必要
21、的供应,请作必要的 修改。修改。1010、从供应商关系中删除从供应商关系中删除S2S2的记录,并从供应情况关的记录,并从供应情况关系系 中删除相应的记录。中删除相应的记录。1111、请将请将(S2(S2,J6J6,P4P4,200)200)插入供应情况关系。插入供应情况关系。第17页/共25页181 1、找出所有供应商的姓名和所在城市。找出所有供应商的姓名和所在城市。SELECT SNAME,CITY SELECT SNAME,CITY FROM S FROM S2 2、找出所有零件的名称、颜色、重量。找出所有零件的名称、颜色、重量。SELECT PNAME,COLOR,WEIGHTSELEC
22、T PNAME,COLOR,WEIGHT FROM P FROM P3 3、找出使用供应商找出使用供应商S1S1所供应零件的工程号码。所供应零件的工程号码。SELECT JNOSELECT JNO FROM SPJ FROM SPJ WHERE SNO=WHERE SNO=S1S1 第18页/共25页194 4、找出工程项目找出工程项目J2J2使用的各种零件的名称及其数量。使用的各种零件的名称及其数量。SELECT P.PNAME,SPJ.QTYSELECT P.PNAME,SPJ.QTY FROM P,SPJ FROM P,SPJ WHERE P.PNO=SPJ.PNO AND SPJ.JN
23、O=WHERE P.PNO=SPJ.PNO AND SPJ.JNO=J2J2 5 5、找出上海厂商供应的所有零件号码。找出上海厂商供应的所有零件号码。SELECT DISTINCT PNO SELECT DISTINCT PNO FROM SPJ FROM SPJ WHERE SNO IN (SELECT SNO WHERE SNO IN (SELECT SNO FROM S FROM S WHERE CITY=WHERE CITY=上海上海 )第19页/共25页206 6、找出使用上海产的零件的工程名称。找出使用上海产的零件的工程名称。SELECT JNAMESELECT JNAME FRO
24、M J,SPJ,S FROM J,SPJ,S WHERE J.JNO=SPJ.JNO AND WHERE J.JNO=SPJ.JNO AND SPJ.SNO=S.SNOSPJ.SNO=S.SNO AND S.CITY=AND S.CITY=上上海海 SELECT JNAMESELECT JNAME FROM J FROM J WHERE JNO IN (SELECT JNO WHERE JNO IN (SELECT JNO FROM SPJ,S FROM SPJ,S WHERE SPJ.SNO=S.SNO WHERE SPJ.SNO=S.SNO AND S.CITY=AND S.CITY=上海
25、上海 )第20页/共25页217 7、找出没有使用天津产的零件的工程号码。找出没有使用天津产的零件的工程号码。SELECT JNO SELECT JNO FROM JFROM JWHERE NOT EXISTSWHERE NOT EXISTS(SELECT*(SELECT*FROM SPJ FROM SPJ WHERE SPJ.JNO=J.JNO WHERE SPJ.JNO=J.JNO AND SNO IN AND SNO IN (SELECT SNO (SELECT SNO FROM S FROM S WHERE CITY=WHERE CITY=天津天津)SELECT JNO SELECT
26、JNO FROM JFROM JWHERE NOT EXISTSWHERE NOT EXISTS(SELECT*(SELECT*FROM SPJ,S FROM SPJ,S WHERE SPJ.JNO=J.JNO WHERE SPJ.JNO=J.JNO AND SPJ.SNO=S.SNO AND SPJ.SNO=S.SNO AND S.CITY=AND S.CITY=天津天津)第21页/共25页227 7、找出没有使用天津产的零件的工程号码。找出没有使用天津产的零件的工程号码。SELECT JNO SELECT JNO FROM JFROM JWHERE JNO NOT INWHERE JNO
27、NOT IN(SELECT JNO(SELECT JNO FROM SPJ,S FROM SPJ,S WHERE SPJ.SNO=S.SNO WHERE SPJ.SNO=S.SNO AND S.CITY=AND S.CITY=天津天津)SELECT JNO SELECT JNO FROM JFROM JWHERE NOT EXISTSWHERE NOT EXISTS(SELECT*(SELECT*FROM SPJ,S FROM SPJ,S WHERE SPJ.JNO=J.JNO WHERE SPJ.JNO=J.JNO AND SPJ.SNO=S.SNO AND SPJ.SNO=S.SNO AN
28、D S.CITY=AND S.CITY=天津天津)第22页/共25页238 8、把全部红色零件的颜色改成蓝色。把全部红色零件的颜色改成蓝色。UPDATE PUPDATE P SET COLOR=SET COLOR=蓝蓝 WHERE COLOR=WHERE COLOR=红红 9 9、由由S5S5供给供给J4J4的零件的零件P6P6改为由改为由S3S3供应,请作必要的供应,请作必要的 修改。修改。UPDATE SPJUPDATE SPJ SET SNO=SET SNO=S3S3 WHERE SNO=WHERE SNO=S5S5 AND JNO=AND JNO=J4J4 AND AND PNO=PN
29、O=P6P6 第23页/共25页241010、从供应商关系中删除从供应商关系中删除S2S2的记录,并从供应情况关的记录,并从供应情况关系系 中删除相应的记录。中删除相应的记录。DELETE DELETE DELETE DELETE FROM SPJ FROM SPJ FROM SFROM S WHERE SNO=WHERE SNO=S2S2 WHERE WHERE SNO=SNO=S2S2 1111、请将请将(S2(S2,J6J6,P4P4,200)200)插入供应情况关系。插入供应情况关系。INSERT INTO SPJ(SNO,JNO,PNO,QTY)INSERT INTO SPJ(SNO,JNO,PNO,QTY)VALUES(VALUES(S2S2,J6J6,P4P4,200),200)INSERT INTOINSERT INTO VALUES(VALUES(S2S2,P4P4,J6J6,200),200)第24页/共25页25感谢您的观看。第25页/共25页