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

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/7472772.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。

注意事项

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

Oracle经典作业与答案.doc

1、 -----------------------day1----------------------------------- 1. 查询职员表中工资大于1600的员工姓名和工资 Select ename, sal from emp where sal > 1600; 2. 查询职员表中员工号为7369的员工的姓名和部门号码 Select ename, deptno from emp where empno = 7369; 3. 选择职员表中工资不在4000到5000的员工的姓名和工资 Select ename, sal from emp where sal not betw

2、een 4000 and 5000; 4. 选择职员表中在20和30号部门工作的员工姓名和部门号 Select ename, deptno from emp where deptno in (20, 30); 5. 选择职员表中没有管理者的员工姓名及职位, 按职位排序 Select ename, job from emp where mgr is null order by job; 6. 选择职员表中有奖金的员工姓名,工资和奖金,按工资倒序排列 Select ename, sal, comm. From emp where comm is not null order by sa

3、l desc; 7. 选择职员表中员工姓名的第三个字母是A的员工姓名 Select ename from emp where ename like ‘__A%’; 8. 列出部门表中的部门名字和所在城市; select dname, loc from dept; 9. 显示出职员表中的不重复的岗位job select distinct job from emp; 10. 连接职员表中的职员名字、职位、薪水,列之间用逗号连接,列头显示成OUT_PUT(提示:使用连接符||、别名) select ename || ', ' || job || ', ' || OUT_PUT(将列名

4、大写) sal from emp; 11. 查询职员表emp中员工号、姓名、工资,以及工资提高百分之20%后的结果 select empno, ename, sal, sal * 1.2 salary from emp; 12. 查询员工的姓名和工资数,条件限定为工资数必须大于1200,并对查询结果按入职时间进行排列,早入职排在前面,晚入职排在后面。 select ename, sal from emp where sal > 1200 order by hiredate; 13. 列出除了ACCOUNT部门还有哪些部门。 select deptno, dname, loc fro

5、m dept where dname <> 'ACCOUNT'; -----------------------day2----------------------------------- 1. 将员工的姓名按首字母排序,并列出姓名的长度(length) select ename, length(ename) from emp order by ename; 2. 做查询显示下面形式的结果 earns monthly but wants 例如: Dream Salary King earns $5000 mon

6、thly but wants $15000 select ename || ' earns $' || sal ||' monthly but wants $' || sal * 3 “Dream Salary” from emp; 3. 使用decode函数,按照下面的条件: JOB GRADE PRESIDENT A MANAGER B ANALYST C SALESMAN D CLERK E 产生类似下面形式的结果

7、 ENAME JOB GRADE SMITH CLERK E SELECT ename, job, DECODE(job,'PRESIDENT','A', 'MANAGER','B', 'ANALYST','C', 'SALESMAN','D', 'CLERK','E' ) AS "Grade" FROM EMP; 4. 查询各员工的姓名ename,并显示出各员工在公司工作的月份数(即:与当前日期比较,该员工已经工作了几个月, 用整数表示)。 select ename, round(months_between(sysdate, hiredate)) hir

8、e_months from emp; 5. 现有数据表Customer,其结构如下所示: cust_id NUMBER(4) Primary Key, --客户编码 cname VARCHAR2(25) Not Null, --客户姓名 birthday DATE, --客户生日 account NUMBER. --客户账户余额 (1).构造SQL语句,列出Customer数据表中每个客户的信息。如果客户生日未提供,则该列值显示“not availab

9、le” 。如果没有余额信息,则显示“no account”。 (2).构造SQL语句,列出生日在1987年的客户的全部信息。 (3).构造SQL语句,列出客户帐户的余额总数。 1)select cust_id, cname, nvl(to_char(birthday, 'yyyy-mm-dd'), 'not available'), nvl(to_char(account, '9999'), 'no account') from Customer; 2)select * from Customer where extract(year from birthday) = '198

10、7'; 3) select sum(account) from Customer; 6. 按照”2009-4-11 20:35:10 ”格式显示系统时间。 select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') now from dual; 7. 构造SQL语句查询员工表emp中员工编码empno,姓名ename,以及月收入(薪水 + 奖金),注意有的员工暂时没有奖金。 select empno, ename, sal + nvl(comm, 0) month_salary from emp; 8. 查找员工姓名的长度是5个字符的员工信

11、息。 select * from emp where length(ename) = 5; 9. 查询员工的姓名和工资,按下面的形式显示:(提示:使用lpad函数) NAME SALARY ----------------------------------------------------- SMITH $$$$$$$$$$24000 select ename name, lpad(sal, 15, '$') salary from emp; 10. 查询薪水大于2000元的员工的姓名和薪水,薪水值显示为’RMB5000.00

12、’这种形式,并对查询结果按薪水的降序方式进行排列; select ename, to_char(sal, 'L9999.00') salary from emp where sal > 2000 order by sal desc; 11. 构造查询语句,产生类似于下面形式的结果: NAME HIREDATE REVIEW ----------------------------------------------------------------------------------------- SMITH

13、 1980-12-17 1980年12月17日 select ename name, to_char(hiredate, 'yyyy-mm-dd') hiredate, to_char(hiredate, 'yyyy"年"mm"月"dd"日"') review from emp; 12. 显示所有员工的姓名ename,部门号deptno和部门名称dname。 Select e.ename, d.deptno, d.dname From emp e join dept d on e.deptno = d.deptno; 13. 选择在DA

14、LLAS工作的员工的员工姓名、职位、部门编码、部门名字 Select e.ename, d.deptno, d.dname From emp e join dept d on e.deptno = d.deptno and d.loc = ‘DALLAS’; 14. 选择所有员工的姓名ename,员工号deptno,以及他的管理者mgr的姓名ename和员工号deptno,结果类似于下面的格式 employees Emp# manager Mgr# SMITH 7369 FORD 7902 select wor.ename "employees", wor.empn

15、o "Emp#", mag.ename "manager", mag.empno "Mgr#" from emp wor, emp mag where wor.mgr = mag.empno; 15. 查询各部门员工姓名和他们所在位置,结果类似于下面的格式 Deptno Ename Loc 20 SMITH DALLAS select deptno,e.ename, d.loc from emp e join dept d using (deptno); 16. 查询公司员工工资的最大值,最小值,平均值,总和 select max(sal), min(sal), a

16、vg(sal), sum(sal) from emp; 17. 列出每个员工的名字,工资、涨薪后工资(涨幅为8%),元为单位进行四舍五入 Select ename , sal , round(sal*1.08) from emp; 18. 查询出JONES的领导是谁(JONES向谁报告)。 select e1.ename from emp e1 , emp e2 where e2.mgr = e1.empno and e2.ename = 'JONES'; 19. JONES领导谁。(谁向JONES报告)。 select e1.ename from emp e1 , emp

17、e2 where e1.mgr = e2.empno and e2.ename = 'JONES'; -----------------------day3----------------------------------- 1. 查询各职位的员工工资的最大值,最小值,平均值,总和 select job, max(sal), min(sal), avg(sal), sum(sal) from emp group by job; 2. 选择具有各个job的员工人数(提示:对job进行分组) select job, count(*) from emp

18、 group by job; 3. 查询员工最高工资和最低工资的差距,列名为DIFFERENCE; select max(sal)-min(sal) "DIFFERENCE" from emp; 4. 查询各个管理者属下员工的最低工资,其中最低工资不能低于800,没有管理者的员工不计算在内 select mgr, min(sal) from emp where mgr is not null group by mgr having min(sal) >= 800; 5. 查询所有部门的部门名字dname,所在位置loc,员工数量和工资平均值; select de

19、pt.dname, dept.loc, COUNT, AVG from dept join( select deptno, count(*) as "COUNT", avg(sal) as "AVG" from emp group by deptno ) using(deptno); 6. 查询和scott相同部门的员工姓名ename和雇用日期hiredate select ename, hiredate from emp where deptno = (select deptno from emp where emp.ename = 'SCO

20、TT'); 7. 查询工资比公司平均工资高的所有员工的员工号empno,姓名ename和工资sal。 select empno, ename, sal from emp where sal > (select avg(sal) from emp); 8. 查询和姓名中包含字母u的员工在相同部门的员工的员工号empno和姓名ename select empno, ename from emp where deptno in (select deptno from emp where ename like '%U%'); 9. 查询在部门的loc为newYork的部门工作的员工的

21、员工姓名ename,部门名称dname和岗位名称job select e.ename, d.dname, e.job from emp e join dept d using (deptno) where deptno = (select deptno from dept where loc = 'NEW YORK'); 10. 查询管理者是king的员工姓名ename和工资sal select ename, sal from emp where mgr = (select empno from emp where ename = 'KING'); 11. 显示Operat

22、ions部门有哪些职位 select distinct e.job from emp e , dept d where e.deptno = d.deptno and d.dname = 'Operations'; 12. 各个部门中工资大于1500的员工人数 select dept_id , count(*) cnt from s_emp where salary > 1500 group by dept_id; 13. 哪些员工的工资,高于整个公司的平均工资,列出员工的名字和工资(降序) select first_name , salary from s_emp where sa

23、lary > (select avg(salary) from s_emp) order by salary desc; 14. 所在部门平均工资高于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); 15. 列出各个部门中工资最高的员工的信息:名字、部门号、工资 select first_name , salary , dept_id from s_emp wher

24、e (dept_id , salary) in (select dept_id , max(salary) from s_emp group by dept_id); 16. 哪个部门的平均工资是最高的,列出部门号、平均工资 select dept_id,avg(salary) from s_emp group by dept_id having avg(salary) = (select max(avg(salary)) from s_emp); -----------------------day4----------------------------------- 1.

25、创建表employee,字段为: Id number First_Name varchar2(20), last_Name varchar2(20), mgrid NUMBER, Job varchar2(20), Salary number(7,2) CREATE TABLE employee( id NUMBER, first_name VARCHAR2(20), last_name VARCHAR2(20), mgrid NUMBER, salary NUMBER(7,2)); 2. 向表中插入下列数据,并提交,查询数据; ID FIRST

26、NAME LAST_NAME MGRID SALARY 1 Rose Tyler 4 1500 2 Matha Jones 4 2200 3 Donna Noble 4 1300 4 Doctor Who 3500 5 Jack Harkness 1 3000 SQL> INSERT INTO employee VALUES (1, 'Rose', 'Tyler', 4, 1500); SQL> INSERT INTO employee VALUES (2, 'Martha', 'Jones', 4, 2200);

27、 SQL> INSERT INTO employee VALUES (3, 'Donna', 'Noble', 4, 1300); SQL> INSERT INTO employee VALUES (4, 'Doctor', 'Who', NULL,3500); SQL> INSERT INTO employee VALUES (5, 'Jack', 'Harkness', 1, 3000); SQL> COMMIT; 4.将3号员工的last_name修改为“Tate”,并提交,查询数据; SQL> UPDATE employee SET last

28、name = 'Tate' WHERE id = 3; 5.将所有工资少于2000的员工的工资修改为2000 (不提交),并设置保存点,查询数据; SQL> UPDATE employee SET salary = 2000 WHERE salary < 2000; SQL> SAVEPOINT A; 6.删除employee表中所有数据(不提交),查询数据; SQL> DELETE FROM employee; SQL> SELECT * FROM employee; 7.回滚到第五题中的设置的保存点,查询数据; SQL> Rollback to A; SQL> SE

29、LECT * FROM employee; 8.删除表employee中所有数据,并提交,查询数据; SQL> DELETE FROM employee; SQL> COMMIT; SQL> SELECT * FROM employee; 9. 现有数据表Customer,其结构如下所示: cust_id NUMBER(4) Primary Key, --客户编码 cname VARCHAR2(25) Not Null, --客户姓名 csex CHAR(6) --客户性别

30、 birthday DATE, --客户生日 account NUMBER. --客户账户余额 1)、创建表,客户编码为主键,姓名不能为空,性别只能选择”男”或”女”; CREATE TABLE customer( cust_id NUMBER PRIMARY KEY, cname VARCHAR2(25) NOT NULL, csex CHAR(6), birthday DATE, account NUMBER, CONSTRAINT cust_csex_chk CHECK (csex IN

31、‘男’, ‘女’),)); 2).构造SQL语句,向Customer数据表中插入一条记录,其信息如下:客户编码使用第一步创建的序列获得,客户姓名为sean,性别为”男”,生日为1987-11-17,帐户余额为12345元。 INSERT INTO customer(cust_id, cname, birthday, account) VALUES(cust_seq.NEXTVAL, 'sean', TO_DATE('1987-11-17','yyyy-mm-dd'), 12345); -----------------------day5--------------------

32、 1. 创建一个序列,初始值是1000,步进是10; Create sequence start with 1000 increment by 10; 2. 创建一个视图v_emp,内容是按部门分组,各个部门的薪水总和和员工人数;视图字段定义为deptno, total_sal, total_count; Create or replace view Is Select deptno, sum(sal) total_sal, count(*) total_count From emp group by deptno; 3. 查询视图,列出全部记录

33、 Select * from v_emp; 4. 删除视图; Drop view v_emp; 5. 列出薪水最低的三名员工的名字; SELECT ename, sal, ROWNUM FROM (SELECT ename, sal FROM emp ORDER BY sal) WHERE ROWNUM <= 3; 6. 列出按员工编码排序,第6到第10条员工记录。 SELECT ename, sal, rn FROM (SELECT ROWNUM rn, ename, sal FROM emp ORDER BY empno ) WHERE rn BETWEEN 6 AND 10;

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

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

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

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

gongan.png浙公网安备33021202000488号   

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

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

客服