ImageVerifierCode 换一换
格式:DOC , 页数:22 ,大小:181.50KB ,
资源ID:7593780      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/7593780.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(专题1_数据库笔试模拟-answer.doc)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

专题1_数据库笔试模拟-answer.doc

1、CORE-E-001的综合练习: 1.用sqlplus连接数据库时,为什么会出Oracle not available错误? oracle server(即通常所说的数据库)是否启动,ORACLE_SID是否正确设置。 2.找出员工的姓中(last_name)第三个字母是a的员工名字 select last_name from s_emp where last_name like '__a%'; 3.找出员工名字中含有a和e的 select first_name from s_emp where first_name like '%a%' and first_nam

2、e like '%e%'; 比较: select first_name from s_emp where first_name like '%a%e%'; 4.找出所有有提成的员工,列出名字、工资、提出,显示结果按工资从小到大,提成从小到大 select first_name , salary , commission_pct from s_emp where commission_pct is not null order by salary , commission_pct; 5.42部门有哪些职位 select distinct title from s_

3、emp where dept_id = 42 6.除了Sales部门还有哪些部门 select id , name ,region_id from s_dept where name <> 'Sales' 7.显示工资不在1000到1550之间的员工信息:名字、工资,按工资从大到小排序。 select first_name , salary from s_emp where salary not between 1000 and 1550 order by salary desc 8.显示职位为Stock Clerk和Sales Representative,

4、年薪在14400和17400之间的员工的信息:名字、职位、年薪。 select first_name , title , salary*12 ann_sal from s_emp where title in ('Stock Clerk', 'Sales Representative' ) and salary between 1200 and 1450 9.解释select id ,commission_pct from s_emp where commission_pct is null和select id , commission_pct from s_emp where c

5、ommission_pct = null的输出结果。 is null判断是否为空,=null判断某个值是否等于null,null = null和null <> null都为null。 10.select语句的输出结果为 select * from s_dept; select * from s_emp; select * from s_region; select * from s_customer; …… 当前用户有多少张表,结果集有多少条记录。 select 'select * from '||table_name||';' from user_tables;

6、 11.判断select first_name , dept_id from s_emp where salary > '1450'是否抱错,为什么? 隐式数据类型转换 CORE-E-002的综合练习: 1.改变NLS_LANG的值,让select to_char(salary*12,’L99,999.99’) from s_emp 输出结果的货币单位是¥和$ setenv NLS_LANG ' SIMPLIFIED CHINESE_CHINA.ZHS16GBK' setenv NLS_LANG ' AMERICAN_AMERICA.US7ASCII' 2.列出每

7、个员工的名字,工资、涨薪后工资(涨幅为8%),元为单位进行四舍五入 select first_name , salary , round(salary*1.08) from s_emp; 3.找出谁是最高领导,将名字按大写形式显示 select upper(first_name) from s_emp where manager_id is null; 4.Ben的领导是谁(Ben向谁报告)。 select e1.first_name from s_emp e1 , s_emp e2 where e2.manager_id = e1.id and e2.first_na

8、me = 'Ben'; select e1.first_name from s_emp e1 join s_emp e2 on e2.manager_id = e1.id and e2.first_name = 'Ben'; 5.Ben领导谁。(谁向Ben报告)。 select e1.first_name from s_emp e1 , s_emp e2 where e1.manager_id = e2.id and e2.first_name = 'Ben'; select e1.first_name from s_emp e1 join s_emp e2 on e1.m

9、anager_id = e2.id and e2.first_name = 'Ben' 6.哪些员工的工资高于他直接上司的工资,列出员工的名字和工资,上司的名字和工资 select e.first_name , e.salary , m.first_name , m.salary from s_emp e , s_emp m where e.manager_id = m.id and e.salary > m.salary; select e.first_name , e.salary , m.first_name , m.salary from s_emp e join s_

10、emp m on e.manager_id = m.id and e.salary > m.salary 7.哪些员工和Biri(last_name)同部门 select e1.first_name from s_emp e1 , s_emp e2 where e1.dept_id = e2.dept_id and e2.last_name = 'Biri' and e1.last_name <> 'Biri'; select e1.first_name from s_emp e1 join s_emp e2 on e1.dept_id = e2.dept_id and e2.l

11、ast_name = 'Biri' where e1.last_name <> 'Biri' select e1.first_name from s_emp e1 join s_emp e2 on e1.dept_id = e2.dept_id and e2.last_name = 'Biri' and e1.last_name <> 'Biri' 8.哪些员工跟Smith(last_name)做一样职位 select e1.first_name from s_emp e1 , s_emp e2 where e1.title = e2.title and e2.last_name

12、 = 'Smith' and e1.last_name <> 'Smith'; select e1.first_name from s_emp e1 join s_emp e2 on e1.title = e2.title and e2.last_name = 'Smith' where e1.last_name <> 'Smith'; select e1.first_name from s_emp e1 join s_emp e2 on e1.title = e2.title and e2.last_name = 'Smith' and e1.last_name <> 'Smith'

13、 9.哪些员工跟Biri(last_name)不在同一个部门 select e1.first_name from s_emp e1 , s_emp e2 where e1.dept_id = e2.dept_id(+) and e2.last_name(+) = 'Biri' and e2.last_name is null; select e1.first_name from s_emp e1 left outer join s_emp e2 on e1.dept_id = e2.dept_id and e2.last_name = 'Biri' where e2.id is

14、 null 10.哪些员工跟Smith(last_name)做不一样的职位 select e1.first_name , e1.title from s_emp e1 , s_emp e2 where e1.title = e2.title(+) and e2.last_name(+) = 'Smith' and e2.id is null; select e1.first_name,e1.title from s_emp e1 left outer join s_emp e2 on e1.title = e2.title and e2.last_name = 'Smith' w

15、here e2.id is null 11.显示有提成的员工的信息:名字、提成、所在部门名称、所在地区的名称 select d.name dname , r.name rname , first_name , commission_pct from s_emp e , s_dept d , s_region r where e.dept_id = d.id and d.region_id = r.id and mission_pct is not null; select d.name dname , r.name rname , first_name , commission_

16、pct from s_emp e join s_dept d on e.dept_id = d.id and mission_pct is not null join s_region r on d.region_id = r.id 12.显示Operations部门有哪些职位 select distinct e.title from s_emp e , s_dept d where e.dept_id = d.id and d.name = 'Operations'; select distinct e.title from s_emp e join s_dept d on

17、e.dept_id = d.id and d.name = 'Operations' 13.整个公司中,最高工资和最低工资相差多少 select max(salary) – min(salary) from s_emp; 14.提成大于0的人数 select count(*) from s_emp where commission_pct > 0; 15.显示整个公司的最高工资、最低工资、工资总和、平均工资,保留到整数位。 select max(salary) , min(salary) , sum(salary) , round(avg(salary)) fro

18、m s_emp; 16.整个公司有多少个领导 select count(distinct manager_id) from s_emp; 17.列出在同一部门入职日期晚但工资高于其他同事的员工:名字、工资、入职日期 select distinct e1.first_name , e1.start_date , e1.salary from s_emp e1 , s_emp e2 where e1.dept_id = e2.dept_id and e1.start_date > e2.start_date and e1.salary > e2.salary; select

19、 distinct e1.first_name , e1.start_date , e1.salary from s_emp e1 join s_emp e2 on e1.dept_id = e2.dept_id and e1.start_date > e2.start_date and e1.salary > e2.salary CORE-E-003的综合练习: 1.各个部门平均、最大、最小工资、人数,按照部门号升序排列 select dept_id , avg(salary) asal , max(salary) asal , min(salary) isal , cou

20、nt(*) cnt from s_emp group by dept_id order by dept_id; 2.各个部门中工资大于1500的员工人数 select dept_id , count(*) cnt from s_emp where salary > 1500 group by dept_id; 3.各个部门平均工资和人数,按照部门名字升序排列 select max(d.name) dname , max(r.name) rname , avg(e.salary) avgsal,count(*) cnt from s_emp e , s_dept d , s_

21、region r where e.dept_id = d.id and d.region_id = r.id group by dept_id order by dname , rname; select max(d.name) dname , max(r.name) rname , avg(e.salary) avgsal , count(*) cnt from s_emp e join s_dept d on e.dept_id = d.id join s_region r on d.region_id = r.id group by e.dept_id order by dnam

22、e,rname 4.列出每个部门中有同样工资的员工的统计信息,列出他们的部门号,工资,人数 select dept_id,salary,count(*) cnt from s_emp group by dept_id,salary having count(*) >= 2 5.该部门中工资高于1000的员工数量超过2人,列出符合条件的部门:显示部门名字、地区名称 select max(d.name) dname , max(r.name) rname , count(*) cnt from s_emp e , s_dept d , s_region r where e.d

23、ept_id = d.id and d.region_id = r.id and e.salary > 1000 group by dept_id having count(*) > 2; select max(d.name) dname , max(r.name) rname , avg(e.salary) avgsal , count(*) cnt from s_emp e join s_dept d on e.dept_id = d.id and e.salary > 1000 join s_region r on d.region_id = r.id group by e.dep

24、t_id having count(*) > 2 6.哪些员工的工资,高于整个公司的平均工资,列出员工的名字和工资(降序) select first_name , salary from s_emp where salary > (select avg(salary) from s_emp) order by salary desc; 7.哪些员工的工资,介于32和33部门(33高些)平均工资之间 select first_name , salary from s_emp where salary between (select avg(salary) from s_emp

25、 where dept_id = 32) and (select avg(salary) from s_emp where dept_id = 33); 8.所在部门平均工资高于1500的员工名字 select first_name , salary from s_emp where dept_id in (select dept_id from s_emp group by dpet_id having avg(salary) > 1500); 9.列出各个部门中工资最高的员工的信息:名字、部门号、工资 select first_name , salary , dept_

26、id from s_emp where (dept_id , salary) in (select dept_id , max(salary) from s_emp group by dept_id); 10.最高的部门平均工资值的是多少 select max(avg(salary)) from s_emp group by dept_id; 11.哪个部门的平均工资是最高的,列出部门号、平均工资 select dept_id,avg(salary) from s_emp group by dept_id having avg(salary) = (select max(a

27、vg(salary)) from s_emp); 12.哪些部门的人数比32号部门的人数多 select dept_id , count(*) cnt from s_emp group by dept_id having count(*) > (select count(*) from s_emp where dept_id = 32); 13.Ben的领导是谁(非关联子查询) select first_name from s_emp where id in (select manager_id from s_emp where first_name = 'Ben');

28、 14.Ben领导谁(非关联子查询) select first_name from s_emp where manager_id = (select id from s_emp where first_name = 'Ben'); 15.Ben的领导是谁(关联子查询) select first_name from s_emp o where exists (select 1 from s_emp i where first_name = 'Ben' and i.manager_id = o.id); 16.Ben领导谁(关联子查询) select first_n

29、ame from s_emp o where exists (select 1 from s_emp i where first_name = 'Ben' and i.id = o.manager_id); 17.列出在同一部门共事,入职日期晚但工资高于其他同事的员工:名字、工资、入职日期(关联子查询) select first_name from s_emp o where exists (select 1 from s_emp i where i.dept_id = o.dept_id and o.start_date > i.start_date and o.salary >

30、i.salary); 18.哪些员工跟Biri(last_name)不在同一个部门(非关联子查询) select first_name from s_emp where dept_id not in (select dept_id from s_emp where last_name = 'Biri'); 19.哪些员工跟Biri(last_name)不在同一个部门(关联子查询) select last_name from s_emp o where not exists (select 1 from s_emp i where i.dept_id = o.dept_id

31、and i.last_name = 'Biri'); 20.Operations部门有哪些职位(非关联子查询) select distinct title from s_emp where dept_id in (select id from s_dept where name = 'Operations'); 21.Operations部门有哪些职位(关联子查询) select distinct title from s_emp e where exists (select 1 from s_dept d where e.dept_id = d.id and name =

32、 'Operations'; CORE-E-004综合练习 定义 CORE-F-012——CORE-F-017的综合练习: 1.工资在1500至3000之间的员工,各自工作的年限(四舍五入,降序)。 答:select first_name,start_date,round(months_between(sysdate,start_date)/12) years from s_emp where salary between 1500 and 3000 order by years desc 2.公司规定,每个员工在工作25年的第一个周五,可以申请退休,查

33、询每个员工的这天显示格式:2010-01-01 答:select first_name,to_char(start_date,'yyyy-mm-dd'),to_char(next_day(add_months(start_date,12*25),'FRIDAY'),'yyyy-mm-dd') from s_emp 3.显示员工的名字、入职日期、周几入职(用英文全拼),显示顺序从周一至周日。 答: select first_name,start_date,to_char(start_date,'DAY') from s_emp order by to_char(start_

34、date-1,'d') select first_name,start_date,to_char(start_date,'DAY') , next_day(start_date, 'MONDAY')-start_date diff from s_emp order by diff desc select first_name,start_date, to_char(start_date,'DAY'), decode(to_char(start_date,'d'),1,8, to_char(start_date,'d')) d1 from s_emp

35、 order by d1; 4.写一个sql脚本,实现多对多关系(暂时不实现约束):学生表、课程表、学生选课表,学生表包含如下信息:学号、姓名、性别、出生日期、政治面貌,课程表包含如下信息:课程号、课程名称、学分、学时、学期,学生选课表包含如下信息:学号、课程号、成绩并插入数据。 答:create table student( id char(10), name varchar2(20), gender char(2), birth date, party varchar(10)); create table course( id char(10), name v

36、archar2(20), credit number(2,1), period number(3), term number(1)); create table st_c( sid char(10), cid char(10), grade number(3,1)); insert into student values('2006015001','Mary','F','15-MAY-1988','A'); insert into student values('2006015002','John','M','05-JAN-1988','A'); insert in

37、to student values('2006015003','Kitty','F','23-MAY-1987','B'); insert into student values('2006015004','Tony','M','18-MAY-1989','A'); insert into student values('2006015005','Elice','F','15-MAY-1989','B'); insert into course values('MUST200901','Data structure',4,72,2); insert into course valu

38、es('MUST200902','Operating Systems',2,54,1); insert into course values('MUST200903','Design Pattern',4,72,2); insert into course values('MUST200904','Core Java',5,108,1); insert into st_c values('2006015001','MUST200901',85); insert into st_c values('2006015001','MUST200902',90); insert into

39、st_c values('2006015001','MUST200903',85); insert into st_c values('2006015002','MUST200902',92); insert into st_c values('2006015002','MUST200903',78); insert into st_c values('2006015004','MUST200901',96); insert into st_c values('2006015004','MUST200902',86); insert into st_c values('2006015

40、004','MUST200903',98); insert into st_c values('2006015004','MUST200904',70); insert into st_c values('2006015003','MUST200904',67); 5.在建好表的基础上完成查询:某个指定的学生(给出学生名字)选了哪些课程。 select s.name student_name,c.name course_name from student s ,course c,st_c sc where s.id=sc.sid and c.id = sc.cid and s.na

41、me = 'Mary' select s.name student_name,c.name course_name from student s join st_c sc on s.id = sc.sid and s.name = 'Mary' join course c on c.id = sc.cid Mary选了哪些课程 STUDENT_NAME COURSE_NAME -------------------- -------------------- Mary Data structure Mary

42、 Operating Systems Mary Design Pattern 6. 某个指定的学生(给出学号)没有选哪些课程。 select c.name from course c, stu_c sc where c.id = sc.cid(+) and sc.sid(+) = '2006015004' and sc.cid is null; select c.name from course c left outer join stu_c sc on c.id = sc.cid and sc.sid = '2006015004'

43、where sc.cid is null (CORE-E-005)综合练习 定义 CORE-F-018——CORE-F-020的综合练习: 1.完善sql脚本中的建表语句,在三张表上增加约束:学生表、课程表、学生选课表,在数据处理上体现出事务的概念。 答: //student_course.sql drop table lm_student; drop table lm_course; drop table lm_sc; create table lm_student( id char(10) primary key, name varchar2(20)

44、 not null, gender char(2) default 'F' not null, birth date not null , party varchar2(10)); create table lm_course( id char(10) primary key, name varchar2(20) not null, credit number(2,1) , period number(3) , term number(1)); create table lm_sc( sid char(10) references lm_student(id)

45、 on delete cascade, cid char(10) references lm_course(id) on delete cascade, grade number(3,1), primary key (sid,cid) ); insert into lm_student values('2006015001','Mary','F','15-MAY-1988','A'); insert into lm_student values('2006015002','John','M','05-JAN-1988','A'); insert into lm_stude

46、nt values('2006015003','Kitty','F','23-MAY-1987','B'); insert into lm_student values('2006015004','Tony','M','18-MAY-1989','A'); insert into lm_student values('2006015005','Elice','F','15-MAY-1989','B'); insert into lm_course values('MUST200901','Data structure',4,72,2); insert into lm_course

47、values('MUST200902','Operating Systems',2,54,1); insert into lm_course values('MUST200903','Design Pattern',4,72,2); insert into lm_course values('MUST200904','Core Java',5,108,1); insert into lm_sc values('2006015001','MUST200901',85); insert into lm_sc values('2006015001','MUST200902',55);

48、insert into lm_sc values('2006015001','MUST200903',45); insert into lm_sc values('2006015002','MUST200902',92); insert into lm_sc values('2006015002','MUST200903',78); insert into lm_sc values('2006015004','MUST200901',96); insert into lm_sc values('2006015004','MUST200902',86); insert into lm_

49、sc values('2006015004','MUST200903',98); insert into lm_sc values('2006015004','MUST200904',70); insert into lm_sc values('2006015003','MUST200904',67); insert into lm_sc values('2006015003','MUST200901',57); commit; 3.修改某个学生的出生日期。 答:update lm_student set birth=add_months(birth,2) where name='Tony'; 4.修改某门课程的学时。 答:update lm_course set period=80 where id = 'MUST200901'; 5.删除某名学生。 答:delete from lm_student where name='Tony'; lm_sc的sid 上的FK定义成了on delete cascade,oracle先删完成了 e delete from lm_sc where sid = (select sid from lm_student where name = 'Tony'); 所以

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服