-数据库原理及应用第二版-第5章数据操作语句-课后习题

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

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

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

资源描述

第5章数据操作语句--1.查询学生选课表中的全部数据。Select*fromsc--2.查询计算机系的学生的姓名、年龄。Selectsname,sagefromstudentwheresdept='计算机系'--3.查询成绩在~分之间的学生的学号、课程号和成绩。Selectsno,cno,gradefromscwheregradebetween70and80--4.查询计算机系年龄在~之间且性别为“男”的学生的姓名、年龄。Selectsname,sagefromstudentwheresdept='计算机系'andsagebetween18and20--5.查询课程号为“c01”的课程的最高的分数。Selectmax(grade)fromscwherecno='C01'--6.查询计算机系学生的最大年龄和最小年龄。Selectmax(sage)最大年龄,min(sage)最小年龄fromstudentWheresdept='计算机系'--7.统计每个系的学生人数。Selectsdept,count(*)人数fromstudentGroupbysdept--8.统计每门课程的选课人数和考试最高分。Selectcno,count(*)选课人数,max(grade)最高分fromscGroupbycno--9.统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果。Selectsno,count(*)选课门数,sum(grade)fromscGroupbysnoorderbycount(*)asc--10.查询总成绩超过分的学生,要求列出学号、总成绩。Selectsno,sum(grade)总成绩fromscGroupbysnohavingsum(grade)200--11.查询选修了“c02”号课程的学生的姓名和所在系。Selectsname,sdeptfromstudentsjoinscons.sno=sc.snoWherecno='C02'--12.查询成绩分以上的学生的姓名、课程号和成绩,并按成绩降序排列结果。Selectsname,cno,gradeFromstudentsjoinscons.sno=sc.snoWheregrade80Orderbygradedesc--13.查询哪些学生没有选课,要求列出学号、姓名和所在系。Selectsnamefromstudentsleftjoinscons.sno=sc.snoWheresc.snoisnull--14.查询与VB在同一学期开设的课程的课程名和开课学期。Selectc2.Cname,c2.SemesterfromCoursec1JOINCoursec2onc1.Semester=c2.SemesterWherec1.cname='VB'andc2.Cname!='VB'--15.查询与李勇年龄相同的学生的姓名、所在系和年龄。*****Selects2.Sname,s2.Sdept,s2.SageFromStudents1JOINStudents2ons1.Sage=s2.SageWheres1.Sname='李勇'ands2.Sname!='李勇'--16.查询计算机系年龄最小的名学生的姓名和年龄。Selecttop2sname,sagefromstudentWheresdept='计算机系'Orderbysageasc--17.查询VB成绩最高的前名学生的姓名、所在系和VB成绩,包括并列的情况。SelectTOP2WITHTIESSname,Sdept,GradeFROMStudentsJOINSCONs.Sno=SC.SnoJOINCoursecONc.Cno=SC.CnoWhereCname='VB'ORDERBYGradedesc--18.查询选课人数最多的前名学生的学号和选课门数,包括并列的情况。SelectTOP2WITHTIESSno,Count(*)选课门数FROMSCGROUPBYSnoORDERBYCount(*)DESC--19.查询学生人数最多的系,列出系名和人数。SelectTOP1Sdept,Count(*)系人数FROMStudentGROUPBYSdeptORDERBYCount(*)DESC--20.用子查询实现如下查询:--()查询选修了“c01”号课程的学生的姓名和所在系。selectsname,sdeptfromstudentwheresnoin(selectsnofromscwherecno='C01')--()查询数学系成绩分以上的学生的学号、姓名、课程号和成绩。selectsno,snamefromstudentwheresnoin(selectsnofromscwheregrade80)andsdept='数学系'--()查询计算机系考试成绩最高的学生的姓名。selectsnamefromstudentsjoinscons.sno=sc.snowheresdept='计算机系'andgrade=(selectmax(grade)fromscjoinstudentsons.sno=sc.snowheresdept='计算机系')--()查询数据结构考试成绩最高的学生的姓名、所在系、性别和成绩。selectsname,sdept,ssex,gradefromstudentsjoinscons.sno=sc.snowheres.snoin(selecttop1withtiessnofromscjoincourseconc.cno=sc.cnowherecname='数据结构'orderbygradedesc)--21.查询没有选修VB课程的学生的姓名和所在系。Selectsname,sdeptfromstudentwheresnonotin(Selectsnofromscjoincourseconc.cno=sc.cnoWherecname='vb')--22.查询计算机系没有选课的学生的姓名和性别。Selectsname,ssexfromstudentwheresdept='计算机系'Andsnonotin(selectsnofromsc)--23.查询计算机系考试平均成绩最低的学生的姓名以及所选的课程名。****稍复杂****Selectsname,cnamefromstudentsjoinscons.sno=sc.snoJoincourseconc.cno=sc.cnoWheres.snoin(selecttop1snofrom(Selectstudent.sno,avg(grade)aspingjunfromscjoinstudentonstudent.sno=sc.snoWheresdept='计算机系'groupbystudent.sno)asmorderbym.pingjun)--24.查询~学期中,选课人数最少的课程的课程名、开课学期和学分。Selectcname,semester,creditfromcourseWherecnoin(selecttop1withtiesc.cnofromscRightJoincourseconc.cno=sc.cnoWheresemesterbetween1and5Groupbyc.cnoOrderbycount(sc.cno)asc)25.创建一个新表,表名为test_t,其结构为:(COL1,COL2,COL3),其中:COL1:整型,允许空值。COL2:字符型,长度为10,不允许空值。COL3:字符型,长度为10,允许空值。试写出按行插入如下数据的语句(空白处表示空值)。COL1COL2COL3B11B2C22B3Createtabletest_t(COL1int,COL2char(10)notnull,COL3char(10))Insertintotest_t(COL2)values('B1')Insertintotest_tvalues(1,'B2','C2')Insertintotest_tvalues(2,'B3',NULL)--26.删除考试成绩低于分的学生的选课记录。Deletefromscwheregrade50--27.删除没有人选的课程记录。Deletefromcoursewherecnonotin(Selectcnofromcourse)28.删除计算机系VB成绩不及格学生的VB选课记录。Deletefromscfromscjoinstudentsons.sno=sc.snoJoincourseconc.cno=sc.cnoWheresdept='计算机系'andcname='VB'Andgrade6029.删除VB考试成绩最低的学生的VB选课记录。DeletefromscfromscWheregradein(selectmin(grade)fromscjoincourseconc.cno=sc.cnoWherecname='VB')--30.将第学期开设的所有课程的学分增加分。Updatecoursesetcredit=credit+2wheresemester=2--31.将VB课程的学分改为分。Updatecoursesetcredit=3wherecname='VB'--32.将计算机系学生的年龄增加岁。Updatestudentsetsage=sage+1wheresdept='计算机系'--33.将信息系学生的“计算机文化学”课程的考试成绩加分。UpdateSCsetgrade=grade+5Fromcoursecjoinsconc.cno=sc.cnoJoinstudentsons.sno=sc.snowheresdept='信息系'andcname='计算机文化学'--34.将选课人数最少的课程的学分降低分。(未考虑没人选的课程)Updatecoursesetcredit=credit-1wherecnoin(Selecttop1withtiescnofromscGroupbycnoOrderbycount(*)asc)

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

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

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

×
保存成功