Oracle PLSQLs基础测试题和答案.docx
- 文档编号:6094162
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:16
- 大小:369.18KB
Oracle PLSQLs基础测试题和答案.docx
《Oracle PLSQLs基础测试题和答案.docx》由会员分享,可在线阅读,更多相关《Oracle PLSQLs基础测试题和答案.docx(16页珍藏版)》请在冰豆网上搜索。
OraclePLSQLs基础测试题和答案
Oracleselect基础测试题目
1、完成查询如下表显示,显示全部学生的信息,按照学生编号的升序排列,对同一学号按照课程名称的字母顺序显示。
学生编号
学生姓名
课程名称
成绩
selectstu.studno,stu.studname,se.coursename,sc.grade
fromstudentstu,coursese,scoresc
wherestu.studno=sc.studnoandse.courseid=sc.courseid;
2、查询显示单科最高成绩
学生编号
学生姓名
课程名称
单科最高成绩
Selectdistinctst.studno,st.studname,co.coursename,maxc.xxl
fromstudentst,courseco,
(selectsc.studno,s.xxl,s.courseidfromscoresc,
(selectmax(grade)xxl,sc.courseidfromscorescgroupbysc.courseid)s
wheresc.courseid=s.courseid)maxc
wherest.studno=maxc.studnoandco.courseid=maxc.courseid;
3、查询显示学生课程及格还是不及格
学生编号
学生姓名
课程名称
考试通过状态
及格或者不及格
4、统计学生选科的数量
学生编号
学生姓名
选课数量
selectst.studno,st.studname,fenzu.coursecountfromstudentst,
(selectcount(stu.coursename)coursecount,stu.studnofrom
(selectstu.studno,stu.studname,co.coursename
fromstudentstu,courseco,scoresc
wherestu.studno=sc.studnoandco.courseid=sc.courseid)stugroupbystu.studno)fenzu
wherest.studno=fenzu.studno
5、查询单科成绩超过课程平均成绩的学生的信息,列出学生编号,学生姓名,课程名称和课程成绩
selectstu.studno,stu.studname,co.courseid,co.coursename,pinjun.grade
fromstudentstu,courseco,
(selectsc.studno,st.courseid,sc.gradefromscoresc,
(selectavg(stude.grade)av,stude.courseidfrom
(selectstu.studno,stu.studname,co.coursename,co.courseid,sc.grade
fromstudentstu,courseco,scoresc
wherestu.studno=sc.studnoandco.courseid=sc.courseid)stude
groupbystude.courseid)st
wheresc.courseid=st.courseidandsc.grade>st.av)pinjun
wherepinjun.courseid=co.courseidandstu.studno=pinjun.studno
6、查询显示需要补考的学生的学生编号,学生姓名和课程名称
selectst.studno,st.studname,sc.grade
fromstudentst,scoresc
wherest.studno=sc.studno
andsc.grade<60
7、统计各科成绩平均分,显示课程编号,课程名称,平均分。
selectco.courseid,co.coursename,chengji.avgepingjunzhifromcourseco,
(selectavg(stude.grade)avge,stude.courseidfrom
(selectstu.studno,se.courseid,se.coursename,sc.grade
fromstudentstu,coursese,scoresc
wherestu.studno=sc.studnoandse.courseid=sc.courseid)stude
groupbystude.courseid)chengji
whereco.courseid=chengji.courseid
8、查询选修了java课程的学生信息
select*from
(selectstu.studno,stu.studname,co.coursename,sc.grade
fromstudentstu,courseco,scoresc
wherestu.studno=sc.studnoandco.courseid=sc.courseid)jse
wherejse.coursename='JAVA'
9、查询没有选修JAVA课程的学生信息
select*from
(selectstu.studno,stu.studname,co.coursename,sc.grade
fromstudentstu,courseco,scoresc
wherestu.studno=sc.studnoandco.courseid=sc.courseid)jse
wherejse.coursename!
='JAVA'
10、查询选修了教师李可课程的学生信息
selectstun.studno,stu.studname
fromstudentstu,
(selectplan.studno
fromcourseplanplan
whereplan.teachid=
(selectte.teachid
fromteacherinfote
wherete.teachname='李可'))stun
wherestu.studno=stun.studno
11、查询同时选修了A01和A02这两门课的学生的上课安排,显示学生编号,学生姓名、班级编号、课程编号、授课教师、上课日期
selectstu.studno,stu.studname,stu.batchcode,
co.courseid,te.teachname,plan.coursedt
fromstudentstu,courseco,teacherinfote,courseplanplan
wherestu.studno=plan.studno
andplan.courseid=co.courseid
andplan.teachid=te.teachid
and(co.courseid='A01'ORco.courseid='A02')
12、查询96571班都有哪些课程,在什么时间有哪位教师授课
selectstu.batchcode,
co.courseid,co.coursename,te.teachname,plan.coursedt
fromstudentstu,courseco,teacherinfote,courseplanplan
wherestu.studno=plan.studno
andplan.courseid=co.courseid
andplan.teachid=te.teachid
andstu.batchcode=96571
13、查询周一不上课的班级
selectbiao.batchcodefrom
(selectstu.batchcode,
co.courseid,co.coursename,te.teachname,plan.coursedt
fromstudentstu,courseco,teacherinfote,courseplanplan
wherestu.studno=plan.studno
andplan.courseid=co.courseid
andplan.teachid=te.teachid
andplan.coursedt!
='周一')biao
groupbybiao.batchcode
14、查询周四上课的教师姓名
selectplan.courseid,plan.teachid,plan.coursedt,te.teachname
fromcourseplanplan,teacherinfote
wherete.teachid=plan.teachid
andplan.coursedt='周四'
15、查询A02课程的授课教师和上课时间
selectplan.courseid,plan.teachid,plan.coursedt,te.teachname
fromcourseplanplan,teacherinfote
wherete.teachid=plan.teachid
andplan.courseid='A02'
16、统计各个科目不及格人数占这个科目考生人数的百分比
select(sux.coun/summ.coun)*(100/100)bili
from(selectcount(studno)coun,courseidfromscore
groupbycourseid)summ,
(selectcount(studno)coun,courseidfromscorewheregrade<60
groupbycourseid)sux
wheresumm.courseid=sux.courseid
建两个内嵌视图,第一个统计某个科目及格人数,第二个统计某个科目总人数,两个表做等值连接,即可。
17、统计所有不及格人数占考生总数的百分比
select(summ.ml/xxl.xl)bilifrom
(selectcount(studno)mlfromscorewheregrade<60)summ,
(selectcount(studno)xlfromscore)xxl
18、查询单科成绩在90分以上的学生是哪个班级的,授课教师是谁?
selectte.teachid,te.teachname,sco.grade,bat.batchname
frombatchbat,teacherinfote,courseplanplan,
(select*fromscorewheregrade>90)sco
wheresco.studno=plan.studno
andplan.teachid=te.teachid
19、查询工业工程班的授课教师都是谁?
selectgong.batchcode,gong.batchname,te.teachname
from(select*frombatchwherebatchnamelike'工业工程%')gong,
teacherinfote,studentstu,courseplanplan
wheregong.batchcode=stu.batchcode
andstu.studno=plan.studno
andplan.teachid=te.teachid
20、查询1068号学生在什么时间都有课?
selectid.studname,id.batchcode,co.courseid,co.coursedt
from(select*fromstudentstuwherestu.studno=1068)id,
courseplanco
whereid.studno=co.studno
21、查询哪些同学的考试成绩都在90分以上
select*fromstudent,
(selectdistinctsc.studnofromscorescwheresc.grade>90)id
wherestudent.studno=id.studno
22、查询同时代课超过两门课程的教师
直接在教学计划里面根据teachid分组,统计不重复的课程信息,然后用having字句过滤
23、汇总各个学生考试成绩的总分,并排名次。
显示学生编号,学生姓名,班级编号,总分
selectstu.studno,stu.studname,stu.batchcode,stud.avge,stud.he
from(selectsc.studno,avg(sc.grade)avge,sum(sc.grade)hefrom
scoresc
groupbysc.studno)stud,studentstu
wherestud.studno=stu.studno
orderbystud.heasc
24、按照班级分组,显示学生的编号,学生姓名和总分,在一个班级内按照总分排名
selectrank_info.studno,stu.studname,rank_info.grade,rank_info.grade_rank
fromstudentstu,
(selectstu_info.studno,sum(stu_info.grade)grade,
rank()over(partitionbystu_info.batchcodeorderbysum(stu_info.grade)desc)grade_rank
from(selectstu.studno,stu.batchcode,sc.grade
fromstudentstu,scoresc
wherestu.studno=sc.studno)stu_info
groupbystu_info.batchcode,stu_info.studno)rank_info
whererank_info.studno=stu.studno
用到了分析函数和内嵌视图
基本思路是用分析函数求出班级内学生总成绩排名,然后和student表等值连接,获取姓名信息
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle PLSQLs基础测试题和答案 PLSQLs 基础 测试 答案