最近下载了一套oracle数据库习题(无答案),本人自己在oracle上练习得到的答案,如果不对的地方,请不要见怪。保存到博客方便自己以后查阅。

相关表:

/*学生表*/
create table student
(sno varchar2(10) primary key not null,sname varchar2(20),sage number(2),ssex varchar2(5)
)/*教师表*/
create table teacher
(tno varchar2(10) primary key,tname varchar2(20)
) /*课程表*/
create table course
(cno varchar2(10),cname varchar2(20),tno varchar2(20),constraint pk_course primary key (cno,tno)
) /*成绩表*/
create table sc
(sno varchar2(10),cno varchar2(10),score number(4,2),constraint pk_sc primary key (sno,cno)
)

相关数据:

/*初始化学生表  student*/
insert into student values ('s001','张三',23,'男');
insert into student values ('s002','李四',23,'男');
insert into student values ('s003','吴鹏',25,'男');
insert into student values ('s004','琴沁',20,'女');
insert into student values ('s005','王丽',20,'女');
insert into student values ('s006','李波',21,'男');
insert into student values ('s007','刘玉',21,'男');
insert into student values ('s008','萧蓉',21,'女');
insert into student values ('s009','陈萧晓',23,'女');
insert into student values ('s010','陈美',22,'女');/*初始化教师表  teacher */
insert into teacher values ('t001','刘阳');
insert into teacher values ('t002','谌燕');
insert into teacher values ('t003','胡明星');/*初始化课程表  course*/
insert into course values ('c001','J2SE','t002');
insert into course values ('c002','Java Web','t002');
insert into course values ('c003','SSH','t001');
insert into course values ('c004','Oracle','t001');
insert into course values ('c005','SQL SERVER 2005','t003');
insert into course values ('c006','C#','t003');
insert into course values ('c007','JavaScript','t002');
insert into course values ('c008','DIV+CSS','t001');
insert into course values ('c009','PHP','t003');
insert into course values ('c010','EJB3.0','t002');/*初始化成绩表  sc*/
insert into sc values ('s001','c001',78.9);
insert into sc values ('s002','c001',80.9);
insert into sc values ('s003','c001',81.9);
insert into sc values ('s004','c001',60.9);
insert into sc values ('s001','c002',82.9);
insert into sc values ('s002','c002',72.9); insert into sc values ('s005','c003',78.9);
insert into sc values ('s006','c004',50.9);
insert into sc values ('s007','c005',81.9);
insert into sc values ('s008','c006',50.9);
insert into sc values ('s005','c007',42.9);
insert into sc values ('s006','c008',72.9);
insert into sc values ('s005','c009',52.9);
insert into sc values ('s006','c010',92.9);

练习题:

/*1、查询“c001”课程比“c002”课程成绩高的所有学生的学号;*/
select distinct c.snofrom sc cwhere (select a.scorefrom sc awhere a.sno = c.snoand a.cno = 'c001') >(select a.scorefrom sc awhere a.sno = c.snoand a.cno = 'c002')/* 2、查询平均成绩大于60分的同学的学号和平均成绩;*/
select *from (select a.sno, avg(score) avgScore from sc a group by a.sno)where avgScore > 60/*3、查询所有同学的学号、姓名、选课数、总成绩; */
select c.sno, c.sname, nvl(d.coursenum, 0), nvl(d.totalscore, 0)from student cleft join (select a.sno,a.sname,count(b.sno) coursenum,sum(b.score) totalscorefrom student a, sc bwhere a.sno = b.snogroup by a.sno, a.sname) don c.sno = d.sno/* 4、查询姓“刘”的老师的个数; */
select count(*) from teacher a
where a.tname like '刘%'/* 5、查询没学过“谌燕”老师课的同学的学号、姓名; */
select b.sno, e.snamefrom sc bleft join student eon b.sno = e.snowhere b.score < 60and b.cno in(select c.cnofrom course cwhere c.tno = (select d.tno from teacher d where d.tname = '谌燕'))/*6、查询学过“c001”并且也学过编号“c002”课程的同学的学号、姓名;*/
select c.sno, d.snamefrom (select b.sno sno, count(*) numCountfrom sc bwhere b.cno in ('c001', 'c002')group by sno) cleft join student don c.sno = d.snowhere c.numCount = 2/*7、查询学过“谌燕”老师所教的所有课的同学的学号、姓名;*/
select a.sno, a.snamefrom student awhere a.sno in (select d.snofrom sc dwhere d.cno in (select c.cnofrom teacher b, course cwhere b.tno = c.tnoand b.tname = '谌燕'));/*8、查询课程编号“c002”的成绩比课程编号“c001”课程低的所有同学的学号、姓名;*/  select a.sno, a.snamefrom student awhere a.sno in (select b.snofrom sc b, sc cwhere b.cno = 'c001'and c.cno = 'c002'and b.sno = c.snoand b.score > c.score);/*9、查询所有课程成绩小于60分的同学的学号、姓名; */     select a.sno, a.snamefrom student awhere a.sno in (select b.sno from sc b where b.score < 60);/*10、查询没有学全所有课的同学的学号、姓名; */ select a.sno, a.snamefrom student awhere a.sno in(select c.snofrom (select b.sno, count(b.cno) cno_numfrom student a, sc bwhere a.sno = b.snogroup by b.sno) cwhere c.cno_num < (select count(d.cno) from course d))or a.sno not in (select distinct e.sno from sc e);/*11、查询至少有一门课与学号为“s001”的同学所学相同的同学的学号和姓名;*/
select * from student;
select * from teacher;
select * from course;
select * from  sc;
/*12、查询至少学过学号为“s001”同学所有一门课的其他同学学号和姓名;
13、把“SC”表中“谌燕”老师教的课的成绩都更改为此课程的平均成绩;
14、查询和“s001”号的同学学习的课程完全相同的其他同学学号和姓名;
15、删除学习“谌燕”老师课的SC表记录;
16、向SC表中插入一些记录,这些记录要求符合以下条件:没有上过编号“c002”课程的同学学号、“c002”      号课的平均成绩;
17、查询各科成绩最高和最低的分:以如下形式显示:课程ID,最高分,最低分
18、按各科平均成绩从低到高和及格率的百分数从高到低顺序
19、查询不同老师所教不同课程平均分从高到低显示
20、统计列印各科成绩,各分数段人数:课程ID,课程名称,[100-85],[85-70],[70-60],[ <60]
21、查询各科成绩前三名的记录:(不考虑成绩并列情况)
22、查询每门课程被选修的学生数
23、查询出只选修了一门课程的全部学生的学号和姓名
24、查询男生、女生人数
25、查询姓“张”的学生名单
26、查询同名同性学生名单,并统计同名人数
27、1981年出生的学生名单(注:Student表中Sage列的类型是number)
28、查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列
29、查询平均成绩大于85的所有学生的学号、姓名和平均成绩
30、查询课程名称为“数据库”,且分数低于60的学生姓名和分数
31、查询所有学生的选课情况;
32、查询任何一门课程成绩在70分以上的姓名、课程名称和分数;
33、查询不及格的课程,并按课程号从大到小排列
34、查询课程编号为c001且课程成绩在80分以上的学生的学号和姓名;
35、求选了课程的学生人数
37、查询各个课程及相应的选修人数
38、查询不同课程成绩相同的学生的学号、课程号、学生成绩
39、查询每门功成绩最好的前两名
40、统计每门课程的学生选修人数(超过10人的课程才统计)。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列
41、检索至少选修两门课程的学生学号
42、查询全部学生都选修的课程的课程号和课程名
43、查询没学过“谌燕”老师讲授的任一门课程的学生姓名
44、查询两门以上不及格课程的同学的学号及其平均成绩
45、检索“c004”课程分数小于60,按分数降序排列的同学学号
46、删除“s002”同学的“c001”课程的成绩 */

oracle数据库经典练习题及答案相关推荐

  1. oracle数据库课后习题答案,oracle数据库经典练习题及答案

    最近下载了一套oracle数据库习题(无答案),本人自己在oracle上练习得到的答案,如果不对的地方,请不要见怪.保存到博客方便自己以后查阅. 相关表: /*学生表*/ create table s ...

  2. oracle完整的练习,2021史上最全Oracle数据库基本操作练习题(含答案).docx

    Oracle基本操作练习题 使用表: 员工表(emP): (empndNUMBEER) notnull ,--员工编号,表示唯一 enameZARCHAR20),--员工姓名 VARCHAR9),-- ...

  3. mysql数据库入门第二张试卷_2016计算机二级《MySQL数据库》练习题与答案

    2016计算机二级<MySQL数据库>练习题与答案 一.选择题 下列语句中,________不是表数据的基本操作语句. A)CREATE语句 B)INSERT语句 C)DELETE语句 D ...

  4. c语言指针面试经典选择题及答案,C语言指针经典练习题-及答案

    <C语言指针经典练习题-及答案>由会员分享,可在线阅读,更多相关<C语言指针经典练习题-及答案(11页珍藏版)>请在人人文库网上搜索. 1.C语言指针练习题及答案一.选择题1. ...

  5. 计算机wps二级知识选择题,2020年计算机等级WPS考试经典练习题及答案

    [导语]2020年计算机等级考试备考正在进行中,为了方便考生及时有效的备考,下面无忧考网为您精心整理了2020年计算机等级WPS考试经典练习题及答案,供大家的参考和学习.如想获取更多计算机等级考试的模 ...

  6. oracle数据库的练习题,《Oracle数据库应用》练习题及答案

    <<Oracle数据库应用>练习题及答案>由会员分享,可在线阅读,更多相关<<Oracle数据库应用>练习题及答案(10页珍藏版)>请在人人文库网上搜索 ...

  7. c语言指针题讲解,C语言指针经典练习题-及答案讲解.doc

    C语言指针练习题及答案 一. 1. 变量的指针,其含义是指该变量的____. a)值 b)地址 c)名 d)一个标志.若有语句int *point,a=4;和point=&a;下面均代表地址的 ...

  8. MySQL经典练习题及答案,常用SQL语句练习50题,题目转自别人, 答案自己做的

    题目转自我疯–他也是转的, 但是答案是自己做的(有的结合了他的思路),尊重版权,特此说明.大家对我的SQL的有错误或者可以优化敬请留言,我一定虚心去改. 准备语句 – 创建mysql练习题库 crea ...

  9. oracle子查询练习题与答案解析 笔记 小白练习!(内有福利)

    ​​​​​​​ -- from(emp) -->sum-->select -- 创建表 -- 学生表 student -- sno 学号.编号 -- sname 学生姓名 -- sage ...

最新文章

  1. import win32api 安装pip install pypiwin32
  2. 实现滑动菜单(富文本版本)
  3. 保护模式下中断或异常示意图
  4. PHP面试题:写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数(array_multisort())
  5. JavaScript写贪吃蛇游戏,代码思路都有,想学的自己看
  6. 删除linux 软raid0,配置Linux软RAID0
  7. HTML音乐标签和滚动
  8. sublime_text 3 注册序列号
  9. Hive常见的属性配置
  10. OpenCV--罗德里格斯(Rodrigues)变换
  11. Win11推送如何操作 Windows11推送的详细步骤方法
  12. Redis BigKey
  13. Centos 安装Java JDK8
  14. 人员基础信息一体化采集系统平台
  15. 利用PS 调整 pdf清晰度
  16. iOS中视图切换的四种方式
  17. 人脸识别打卡机怎么调sj_人脸通怎么使用_人脸通考勤机怎么设置
  18. HCIE - 2204-MPLS
  19. python证件照_python opencv实现证件照换底的方法
  20. HTML+CSS 仿写京东网站界面

热门文章

  1. jsp servlet mysql实现的java学生选课系统源码附带高清视频指导运行教程及论文
  2. 1628_MIT 6.828 xv6_chapter0操作系统接口
  3. 手工去除酷我音乐盒广告
  4. php刷脸登录,PHP实现微信小程序人脸识别刷脸登录功能
  5. MapReduce明星搜索指数统计,找出人气王
  6. 开发钉钉和企业微信微应用
  7. python图表_使用Python绘制图表大全总结
  8. 让你在macOS上快速查看txt文本文件
  9. 关于gl_FragCoord的理解
  10. 一加 Ace Pro怎么样?颜值性能它都有