- 浏览: 207714 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
white1114579650:
[flash=200,200][url][img][list] ...
Tomcat部署web项目 -
xue_x_d:
...
MySQL创建索引,查看以及删除 -
Vincent-Yang:
doUpdate不会用,接受的是List<T>那就 ...
java操作数据库的通用的类 -
royzs:
浅显明了,辛苦
MySQL与Oracle的区别 -
张伟818:
...
c3p0和dbcp的区别
create table student( sno varchar2(10) primary key, 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) );
/*******初始化学生表的数据******/
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,'女'); commit;
/******************初始化教师表***********************/
insert into teacher values ('t001', '刘阳'); insert into teacher values ('t002', '谌燕'); insert into teacher values ('t003', '胡明星'); commit;
/***************初始化课程表****************************/
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'); commit;
/***************初始化成绩表***********************/
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 ('s003','c002',81.9); insert into sc values ('s001','c003','59'); commit;
练习:
注意:以下练习中的数据是根据初始化到数据库中的数据来写的SQL 语句,请大家务必注意。
1、查询“c001”课程比“c002”课程成绩高的所有学生的学号;
2、查询平均成绩大于60 分的同学的学号和平均成绩;
3、查询所有同学的学号、姓名、选课数、总成绩;
4、查询姓“刘”的老师的个数;
5、查询没学过“谌燕”老师课的同学的学号、姓名;
6、查询学过“c001”并且也学过编号“c002”课程的同学的学号、姓名;
7、查询学过“谌燕”老师所教的所有课的同学的学号、姓名;
8、查询课程编号“c002”的成绩比课程编号“c001”课程低的所有同学的学号、姓名;
9、查询所有课程成绩小于60 分的同学的学号、姓名;
10、查询没有学全所有课的同学的学号、姓名;
11、查询至少有一门课与学号为“s001”的同学所学相同的同学的学号和姓名;
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、求选了课程的学生人数
36、查询选修“谌燕”老师所授课程的学生中,成绩最高的学生姓名及其成绩
37、查询各个课程及相应的选修人数
38、查询不同课程成绩相同的学生的学号、课程号、学生成绩
39、查询每门功课成绩最好的前两名
40、统计每门课程的学生选修人数(超过10 人的课程才统计)。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列
41、检索至少选修两门课程的学生学号
42、查询全部学生都选修的课程的课程号和课程名
43、查询没学过“谌燕”老师讲授的任一门课程的学生姓名
44、查询两门以上不及格课程的同学的学号及其平均成绩
45、检索“c004”课程分数小于60,按分数降序排列的同学学号
46、删除“s002”同学的“c001”课程的成绩
答案:
1. ********************************* select a.* from (select * from sc a where a.cno='c001') a, (select * from sc b where b.cno='c002') b where a.sno=b.sno and a.score > b.score; ********************************* select * from sc a where a.cno='c001' and exists(select * from sc b where b.cno='c002' and a.score>b.score and a.sno = b.sno) ********************************* 2. ********************************* select sno,avg(score) from sc group by sno having avg(score)>60; ********************************* 3. ********************************* select a.*,s.sname from (select sno,sum(score),count(cno) from sc group by sno) a ,student s where a.sno=s.sno ********************************* 4. ********************************* select count(*) from teacher where tname like '刘%'; ********************************* 5. ********************************* select a.sno,a.sname from student a where a.sno not in (select distinct s.sno from sc s, (select c.* from course c , (select tno from teacher t where tname='谌燕')t where c.tno=t.tno) b where s.cno = b.cno ) ********************************* select * from student st where st.sno not in (select distinct sno from sc s join course c on s.cno=c.cno join teacher t on c.tno=t.tno where tname='谌燕') ********************************* 6. ********************************* select st.* from sc a join sc b on a.sno=b.sno join student st on st.sno=a.sno where a.cno='c001' and b.cno='c002' and st.sno=a.sno; ********************************* 7. ********************************* select st.* from student st join sc s on st.sno=s.sno join course c on s.cno=c.cno join teacher t on c.tno=t.tno where t.tname='谌燕' ********************************* 8. ********************************* select * from student st join sc a on st.sno=a.sno join sc b on st.sno=b.sno where a.cno='c002' and b.cno='c001' and a.score < b.score ********************************* 9. ********************************* select st.*,s.score from student st join sc s on st.sno=s.sno join course c on s.cno=c.cno where s.score <60 ********************************* 10. ********************************* select stu.sno,stu.sname,count(sc.cno) from student stu left join sc on stu.sno=sc.sno group by stu.sno,stu.sname having count(sc.cno)<(select count(distinct cno)from course) =================================== select * from student where sno in (select sno from (select stu.sno,c.cno from student stu cross join course c minus select sno,cno from sc) ) =================================== ********************************* 11. ********************************* select st.* from student st, (select distinct a.sno from (select * from sc) a, (select * from sc where sc.sno='s001') b where a.cno=b.cno) h where st.sno=h.sno and st.sno<>'s001' ********************************* 12. ********************************* select * from sc left join student st on st.sno=sc.sno where sc.sno<>'s001' and sc.cno in (select cno from sc where sno='s001') ********************************* 13. ********************************* update sc c set score=(select avg(c.score) from course a,teacher b where a.tno=b.tno and b.tname='谌燕' and a.cno=c.cno group by c.cno) where cno in( select cno from course a,teacher b where a.tno=b.tno and b.tname='谌燕') ********************************* 14. ********************************* select* from sc where sno<>'s001' minus ( select* from sc minus select * from sc where sno='s001' ) ********************************* 15. ********************************* delete from sc where sc.cno in ( select cno from course c left join teacher t on c.tno=t.tno where t.tname='谌燕' ) ********************************* 16. ********************************* insert into sc (sno,cno,score) select distinct st.sno,sc.cno,(select avg(score)from sc where cno='c002') from student st,sc where not exists (select * from sc where cno='c002' and sc.sno=st.sno) and sc.cno='c002'; ********************************* 17. ********************************* select cno ,max(score),min(score) from sc group by cno; ********************************* 18. ********************************* select cno,avg(score),sum(case when score>=60 then 1 else 0 end)/count(*) as 及格率 from sc group by cno order by avg(score) , 及格率 desc ********************************* 19. ********************************* select max(t.tno),max(t.tname),max(c.cno),max(c.cname),c.cno,avg(score) from sc , course c,teacher t where sc.cno=c.cno and c.tno=t.tno group by c.cno order by avg(score) desc ********************************* 20. ********************************* select sc.cno,c.cname, sum(case when score between 85 and 100 then 1 else 0 end) AS "[100-85]", sum(case when score between 70 and 85 then 1 else 0 end) AS "[85-70]", sum(case when score between 60 and 70 then 1 else 0 end) AS "[70-60]", sum(case when score <60 then 1 else 0 end) AS "[<60]" from sc, course c where sc.cno=c.cno group by sc.cno ,c.cname; ********************************* 21. ********************************* select * from (select sno,cno,score,row_number()over(partition by cno order by score desc) rn from sc) where rn<4 ********************************* 22. ********************************* select cno,count(sno)from sc group by cno; ********************************* 23. ********************************* select sc.sno,st.sname,count(cno) from student st left join sc on sc.sno=st.sno group by st.sname,sc.sno having count(cno)=1; ********************************* 24. ********************************* select ssex,count(*)from student group by ssex; ********************************* 25. ********************************* select * from student where sname like '张%'; ********************************* 26. ********************************* select sname,count(*)from student group by sname having count(*)>1; ********************************* 27. ********************************* select sno,sname,sage,ssex from student t where to_char(sysdate,'yyyy')-sage =1988 ********************************* 28. ********************************* select cno,avg(score) from sc group by cno order by avg(score)asc,cno desc; ********************************* 29. ********************************* select st.sno,st.sname,avg(score) from student st left join sc on sc.sno=st.sno group by st.sno,st.sname having avg(score)>85; ********************************* 30. ********************************* select sname,score from student st,sc,course c where st.sno=sc.sno and sc.cno=c.cno and c.cname='Oracle' and sc.score<60 ********************************* 31. ********************************* select st.sno,st.sname,c.cname from student st,sc,course c where sc.sno=st.sno and sc.cno=c.cno; ********************************* 32. ********************************* select st.sname,c.cname,sc.score from student st,sc,course c where sc.sno=st.sno and sc.cno=c.cno and sc.score>70 ********************************* 33. ********************************* select sc.sno,c.cname,sc.score from sc,course c where sc.cno=c.cno and sc.score<60 order by sc.cno desc; ********************************* 34. ********************************* select st.sno,st.sname,sc.score from sc,student st where sc.sno=st.sno and cno='c001' and score>80; ********************************* 35. ********************************* select count(distinct sno) from sc; ********************************* 36. ********************************* select st.sname,score from student st,sc ,course c,teacher t where st.sno=sc.sno and sc.cno=c.cno and c.tno=t.tno and t.tname='谌燕' and sc.score= (select max(score)from sc where sc.cno=c.cno) ********************************* 37. ********************************* select cno,count(sno) from sc group by cno; ********************************* 38. ********************************* select a.* from sc a ,sc b where a.score=b.score and a.cno<>b.cno ********************************* 39. ********************************* select * from ( select sno,cno,score,row_number()over(partition by cno order by score desc) my_rn from sc t ) where my_rn<=2 ********************************* 40. ********************************* select cno,count(sno) from sc group by cno having count(sno)>10 order by count(sno) desc,cno asc; ********************************* 41. ********************************* select sno from sc group by sno having count(cno)>1; || select sno from sc group by sno having count(sno)>1; ********************************* 42. ********************************* select distinct(c.cno),c.cname from course c ,sc where sc.cno=c.cno || select cno,cname from course c where c.cno in (select cno from sc group by cno) ********************************* 43. ********************************* select st.sname from student st where st.sno not in (select distinct sc.sno from sc,course c,teacher t where sc.cno=c.cno and c.tno=t.tno and t.tname='谌燕') ********************************* 44. ********************************* select sno,avg(score)from sc where sno in (select sno from sc where sc.score<60 group by sno having count(sno)>1 ) group by sno ********************************* 45. ********************************* select sno from sc where cno='c004' and score<90 order by score desc; ********************************* 46. ********************************* delete from sc where sno='s002' and cno='c001'; *********************************
发表评论
-
数据库连接的相关问题
2012-08-30 09:23 01。url if (null == ip || null = ... -
数据库的连接池
2012-08-14 15:09 0数据库的连接池的相关的知识! -
JDBC连接各种数据库
2012-03-11 18:38 853引用1、Oracle8/8i/9i数据库(thin模式) ... -
内存数据库的定义
2012-03-10 15:57 1165内存数据库,顾名思 ... -
Oracle的学习视频
2012-03-10 13:53 972http://school.itzcn.com/special ... -
sql的索引优化
2012-03-10 08:53 977引用问题描述: 我们要 ... -
char,varchar以及varchar2的区别
2012-03-10 08:54 1107详细请见附件 -
MySQL创建索引,查看以及删除
2012-03-09 09:15 91711.索引作用 在索引列上,除了上面提到的有序查找之外, ... -
子查询转化为连接查询的例子
2012-03-09 09:15 7232引用 我们进行数据查询的时候极少有可能就在一张表里就能得到 ... -
MySQL与Oracle的区别
2012-03-08 09:26 1658引用1. Oracle是大型数据库而Mysql是中小型数据库 ... -
JDBC ResultSet数据集参数详解
2012-03-06 09:30 2419引用.(转载) 调用ResultSet中的last()方法时 ... -
Oracle的常用的命令
2012-03-06 09:31 621--导出数据库 exp test2/ ... -
数据库的索引浅谈
2012-03-06 09:31 830引用 数据库表的信息是存在在文件中的,每个文件中有很多记录,你 ... -
Tomcat设置JNDI
2012-03-06 09:31 9111、拷贝数据库驱动到tomcat的lib目录 2、打开con ... -
左连接,右连接以及全连接
2012-03-08 09:25 822详细参考:http://lichunhui.iteye.com ... -
死锁产生的原因以及解决的方法
2012-03-05 14:37 1376原因分析: 首先死锁是怎么发生的: 简单说, ... -
几条记下来的sql
2012-03-05 14:08 826本人认为很实用的几条语句 1)select ... from ... -
MySQL 中的Blog杂谈
2012-03-05 13:58 2001声明:本人完全copy来的 一、MySQL BLOB 类型介绍 ... -
c3p0和dbcp的区别
2012-03-05 13:34 6807c3p0简介: C3P0是一个开源的JDBC连接池,它 ... -
sql的优化30条
2012-03-03 18:18 10501. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 wh ...
相关推荐
Oracle数据库试题能够帮助相关岗位的应聘者或者数据库管理人员加深对Oracle数据库的理解。本次提供的100题,涵盖了Oracle数据库的基础知识点和一些实际应用能力的考察。 首先,在Oracle数据库的启动过程中,三个...
Oracle ocp试题VCE 051 052 053完整的Oracle ocp试题VCE 051 052 053完整的Oracle ocp试题VCE 051 052 053完整的Oracle ocp试题VCE 051 052 053完整的Oracle ocp试题VCE 051 052 053完整的Oracle ocp试题VCE 051 052...
### Oracle期末试题知识点详解 #### 一、选择题解析 1. **服务器进程意外中止时,Oracle如何处理?** - **知识点**: Oracle后台进程的功能 - **解析**: 当一个服务器进程意外中止时,Oracle使用PMON(Process ...
### Oracle试题及答案知识点解析 #### 1. SGA内存区 - **题目解析**:在Oracle数据库中,系统全局区(System Global Area, SGA)是数据库实例启动时分配的一块共享内存区域,用于存储数据库的数据和控制信息。SGA包括...
oracle 考试试题及答案 ,对于快要考试的同学们,可能会有帮助。
这道试题主要考察了Oracle的基本操作,包括表格的创建、数据插入、以及数据分析等核心技能。 首先,我们来看第一部分,创建表格。在Oracle中,我们可以使用`CREATE TABLE`语句来创建新的表。对于部门表(dept),我们...
"oracle11g OCP试题集"显然是一份包含全面练习题和可能考试问题的资源,旨在帮助备考者准备OCP认证考试。 试题集中的"051/052/053"可能代表不同的章节或主题,这表明资料覆盖了广泛的知识领域。尽管部分内容可能...
在"1Z0-042_supportcenter_v080812_296"这个压缩包文件中,很可能包含了针对Oracle OCA考试的模拟试题和学习资料。1Z0-042是Oracle 11g Database Administrator Certified Associate认证的考试代码,该考试主要涵盖...
【Oracle考试试题解析】 Oracle考试主要测试考生对Oracle数据库系统的理解和操作能力,涵盖数据库管理、数据结构、数据库设计、SQL语言以及PL/SQL程序设计等多个方面。以下是对试卷中涉及的一些核心知识点的详细...
来测测你的oracle水平吧,或者想出题测试测试别人,本套卷子涵盖各个基础方面。
本文总结了 Oracle 考试试题及答案,涵盖了数据库管理技术、数据结构、关系代数、PL/SQL 等多个方面的知识点,旨在帮助读者更好地理解 Oracle 数据库管理系统。 一、数据库管理技术 * 数据库管理技术经历了三个...
Oracle10g的试题 主要是SQL方面
Oracle 考试试题(带答案) 本资源整理了 Oracle 考试试题,涵盖了 Oracle 服务器启动时需要的文件、用户执行 SELECT 语句时的进程、数据库对象的名称、日期时间类型特定部分的提取函数、教师表的结构、逻辑结构...
Oracle 10G是Oracle...总的来说,"ORACLE10G全真试题"是备考Oracle 10G OCP的重要参考资料,通过模拟考试,考生可以检验自身对Oracle 10G数据库管理的理解,提高应对实际考试的能力,确保在正式考试中取得理想成绩。
试题解析是备考这个认证的重要参考资料,通常涵盖了Oracle数据库管理、性能优化、网络配置、备份与恢复等多个关键领域。 042解析(175题)可能是一份包含175个问题的试题集,这些题目旨在测试考生在Oracle 10g数据库...
以下是一些从给定试题中提取的关键知识点: 1. **数据库启动时必须的文件**:Oracle服务器在启动时需要数据文件、控制文件和日志文件,但归档日志文件不是必须的,因为归档是在正常运行时用于备份和恢复的。 2. **...
这些试题集涵盖了从Oracle Certified Associate (OCA)到Oracle Certified Professional (OCP)的不同级别,是备考者的重要参考资料。 Oracle DBA(Database Administrator)是数据库管理员的缩写,他们在组织中负责...
本分析主要围绕Oracle OCP SQL试题,深入探讨相关知识点,帮助备考者理解并掌握考试重点。 一、SQL基础 SQL,全称为Structured Query Language,是用于管理和操作关系型数据库的标准语言。在Oracle OCP SQL试题中...
Oracle PL/SQL 开发人员试题(DBA) 本资源是 Oracle PL/SQL 开发人员试题(DBA),涵盖了多个与 Oracle PL/SQL 相关的试题,旨在考察开发人员对 Oracle PL/SQL 的理解和应用能力。以下是对试题的详细解读和知识点总结...