oracle操作题
更新时间:2023-09-13 09:04:01 阅读量: 综合文库 文档下载
一、建表,修改表
CREATE TABLE XSB (
XH char(6) NOT NULL PRIMARY KEY, XM char(8) NOT NULL, XB char(2) DEFAULT '1' NOT NULL, CSSJ date NOT NULL, ZY char(12) NULL, ZXF number(2) NULL, BZ varchar2(200) NULL );
CREATE TABLE KCB ( KCH char(3) NOT NULL PRIMARY KEY, KCM char(16) NOT NULL, KKXQ number(1) NULL, XS number(2) NULL, XF number(1) NOT NULL );
CREATE TABLE CJB (
XH char(6) NOT NULL, KCH char(3) NOT NULL, CJ number(2) NULL, PRIMARY KEY(XH, KCH) );
二、查询
1、列出XSB表中所有记录的XM、XB和ZY列。 2、显示所有的专业名称即不重复的专业列。
3、显示CJB表中成绩在60到80之间的所有记录。 4、显示CJB表中成绩为85,86或88的记录。
5、显示XSB表中“计算机”专业或性别为“女”的同学记录。 6、显示“计算机”专业的学生人数。
7、显示CJB表中的最高分的学生学号和课程号。 8、显示“212”号课程的平均分。 9、*显示CJB表中至少有5名学生选修的且课程号以“2”开头的课程的平均分数。 10、*显示最低分大于70,最高分小于90 的XH。 11、显示所有学生的 XM、 KCH和CJ列。 12、显示所有学生的 XM、 KCM和CJ列。 13、列出“计算机”专业所选课程的平均分。 14、显示成绩高于学号为“101101”、课程号为“101”的成绩的所有成绩记录。
15、显示出和学号为“101101”的同学同年出生的所有学生的 XH、XM和 CSSJ列。 16、显示“软件工程”课程的学生成绩。 17、*显示选修人数多于5人的课程名称。 18、*显示存在有85分以上成绩的课程号。
19、*显示 “101”课程成绩高于“102”课程成绩的同学的学号、姓名和成绩。 select xsb.xh, xsb.xm , t1.cj
from ( select * from cjb where kch = 101 ) t1, (select * from cjb where kch = 102 ) t2, xsb where t1.cj > t2.cj and t1.xh = t2.xh and t1.xh = xsb.xh ;
Select cno sno,degree from score Where cno=‘3-105’ and degree> ALL (select degree from score where cno=‘3-245’) ;
select cno dno,degreefrom score where cno=’ 101’
and degree >(select max(degree) from score
where cno=’102 ’);
20、*列出没有学生选修的课程的基本信息。
select *from kcb where not exists (
select *from xsb Where xh in
(select xh From cjb Where xsb.xh=cjb.xh) );
21、*检索所有学生都选修的课程名称。
select * from kcb where not exists ( select * from xsb where not EXISTS ( select * from cjb where xh = xsb.xh and kch = kcb.kch));
22、*检索所选课程包含学生“101101”所选课程的学生学号。 select distinct xh from cjb t1 where not exists
( select * from cjb t2
where t2.xh = 101101 and not exists
(select * from cjb t3 where t3.xh = t1.xh and t3.kch = t2.kch ) );
三、数据增删改
1、往kcb表中添加一门课程信息(105,数据结构,2,80,5) insert into kcb(kch,kcm,kkxq,xs,xf)values(105,数据结构,2,80,5); 2、每个学生都要选修数据结构(105),将选课信息加入到cjb表。 insert into cjb(xh,kch,cj) select xh,105,null from xsb;
3、将“计算机”专业全体学生的 102号成绩修改为空值。
update cjb set cj=null where xh in(select xh from xsb where zy='计算机') and kch='102'; 4、删除“通信工程”专业所有学生的选课记录。
delete from cjb where xh in(select xh from xsb where zy='通信工程') 四、函数、存储过程和触发器
1、在scott方案下创建函数 cj_avg,要求输入课程编号作为参数,函数返回相应课程的平均成绩。
2、在scott中创建存储过程xs_avg,该存储过程包括一个输入参数 ,用于获取学号,一个输出参数用于返回指定学号的平均成绩。
3、 在cjb表上创建一个触发器,当删除记录的时候,如果被删除的课程成绩低于60则不能删除该选课记录。
Create or replace trigger del_cj before delete on cjb for each row when(old.cj<60) begin
raise_application_error(-20000,”被删除的学生成绩低于60分”); end;
4、在学生表(xsb)中创建触发器,要求新插入的学生记录的年龄不能超过现有学生的最大年龄。
Create or replace trigger ins_age Before insert on xsb on each row Declare Time date;
Begin
Select min(ccsj) into time from xsb;
if(:new.ccsj
正在阅读:
oracle操作题09-13
星空作文300字07-10
对《外国投资者并购境内企业的规定》(10号令)的规避方法03-31
浅谈在小学英语教学中怎样培养学生的创新能力-教育文档03-29
可爱的蜗牛作文400字07-13
汉隶礼器碑(最全最完整最高清版)03-29
医学统计学考试重点07-17
当前农业信息化建设存在的问题与对策07-07
2015年新疆公务员考试参考资料11-26
我的家乡宝鸡作文450字06-24
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 操作
- oracle
- 00316西方政治制度复习资料+历年真题及答案 - 图文
- 中医护理学试卷
- 中国化马克思主义复习资料
- 2016年安全生产知识竞答活动试题(已校对)
- 阳光花园施工组织设计(土建水电完整版)
- 《商品学概论》复习资料
- 作文Microsoft Word 文档
- 电工技术基础与技能试题
- FS外模板安装工程检验批质量验收记录1 - 图文
- 2018年事业单位人员岗前培训心得体会参考
- 北师大版四年级语文下册第10单元教案
- 稽查岗位试卷六A
- 湖北省监利一中2012-2013学年高二数学作业(4) Word版无答案
- 2019年新人教版二年级数学下册知识点复习-文档资料
- protel99试题及答案
- 石园变土建工作总结
- 期末复习化学反应工程名词解释
- 原始点疗法(理论篇)word版
- 师德师风建设教师调查问卷
- 中外美术史常识试题