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

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3259907.html】到电脑端继续下载(重复下载不扣费)。

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(oracle习题.docx)为本站会员(11****ws)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

oracle习题.docx

1、1.选择部门 30 中的所有员工:SELECT * FROM emp WHERE deptno=30;2.列出所有办事员(CLERK)的姓名,编号和部门编号:SELECT ename,empno,deptno FROM emp WHERE UPPER(job)=CLERK;3.列出佣金(comm)高于薪金(sal)的员工:SELECT * FROM emp WHERE commsal;4.找出佣金(comm)高于薪金百分 60 的员工SELECT * FROM emp WHERE comm(sal*0.6);5.找出部门 10 中所有经理(MANAGER) 和部门 20 中所有办事员(CLER

2、K)的详细资料SELECT * FROM emp WHERE (deptno=10 AND job=MANAGER) OR (deptno=20 AND job=CLERK);6.找出部门 10 中所有经理,部门 20 中所有的办事员,既不是经理又不是办事员,但是薪金大于或等于 2000 的所有员工的资料:SELECT * FROM emp WHERE(deptno=10 AND job=MANAGER) OR(deptno=20 AND job=CLERK) OR(job NOT IN(MANAGER,CLERK) AND sal=2000);7.找出收取佣金(comm)的员工的不同工作:D

3、ISTINCT- 消除重复的关键字SELECT DISTINCT job FROM emp WHERE comm IS NOT NULL;8.找出不收取佣金或者佣金小于 100 的员工:SELECT * FROM emp WHERE comm IS NULL OR comm12;11.按照首字母大写的方式显示员工姓名SELECT INITCAP(ename) FROM emp;12.显示正好为 5 个字符的员工的姓名SELECT ename FROM emp WHERE LENGTH(ename)=5;13.显示不带有“R“ 的员工姓名:SELECT ename FROM emp WHERE

4、ename NOT LIKE %R%;14.显示所有员工姓名的前 3 个字符:SELECT SUBSTR(ename,0,3) FROM emp;15.显示所有员工的姓名,并且用“x” 替换替换所有的 “A”;SELECT REPLACE(ename,A,x) FROM emp;16.显示满十年服务年限的员工的姓名和受雇日期:SELECT ename,hiredate FROM emp WHERE MONTHS_BETWEEN(sysdate,hiredate)/12 10;17.显示员工的详细资料,按姓名排序:SELECT * FROM emp ORDER BY ename;18.显示员工的

5、姓名和受雇日期,并根据其服务年限,把资料最老的员工排在第在前面:SELECT ename,hiredate FROM emp ORDER BY hiredate;19.显示所有员工的姓名,工作和薪金,按工作的降序排序,若工作相同则按薪金排序:SELECT ename,job,sal FROM emp ORDER BY job DESC,sal;20.显示所有员工的姓名,加入公司的年份和月份,按受雇日期所在的年排序,若年份相同则讲最早月份的员工排在最前面:使用 TO_CHAR()函数SELECT ename,TO_CHAR(hiredate,yyyy) year,TO_CHAR(hiredate

6、,MM) mon FROM emp ORDER BY year,mon;21.显示在一个月为 30 天的情况所有员工的日薪金,并且忽略余数:ROUND() 四舍五入SELECT ename,ROUND(sal/30) 日薪金 FROM emp;22.找出在(任何年份)的 2 月受聘的所有员工:SELECT * FROM emp WHERE TO_CHAR(hiredate,MM)=2;23.对于每个员工,显示其加入公司的天数:SELECT ROUND(sysdate-hiredate) FROM emp;24.显示姓名字段的任何位置包含“A ”的所有员工姓名:SELECT ename FROM

7、 emp WHERE ename LIKE %A%;25.以年月的方式显示所有员工的服务年限:年:求出总共的月/12 - 产生小数,并不能四舍五入月:对 12 取余 SELECT ename,TRUNC(MONTHS_BETWEEN(sysdate,hiredate)/12) year,TRUNC(MOD(MONTHS_BETWEEN(sysdate,hiredate),12) monFROM emp;/*-复杂查询,子查询,多表关联-*/26.列出至少有三个员工的所有部门和部门信息。!SELECT d.*,ed.count FROM dept d,(SELECT deptno,COUNT(e

8、mpno) count FROM emp GROUP BY deptno HAVING COUNT(empno)3) edWHERE d.deptno=ed.deptno;27.列出薪金比“ALLEN”多的所有员工SELECT sal FROM emp WHERE ename=ALLEN; /子查询SELECT * FROM emp WHERE sal(SELECT sal FROM emp WHERE ename=ALLEN);28.列出所有员工的姓名及其上级的姓名:SELECT e.ename 员工,m.ename 上级FROM emp e,emp mWHERE e.mgr=m.empno

9、(+);由于 KING 并没有上级,所以添加一个(+) 号表示左连接29.列出受雇日期早于直接上级的所有员工的编号,姓名,部门名称SELECT e.ename,e.empno,d.dnameFROM emp e,emp m,dept dWHERE e.mgr=m.empno AND e.deptno=d.deptno AND e.hiredate1500;在按照SELECT e.job,COUNT(empno) FROM emp eWHERE job IN(SELECT job FROM empGROUP BY job HAVING MIN(sal)1500)GROUP BY e.job;33

10、.列出在部门销售部工作的员工姓名,假设不知道销售部的部门编号根据 DEPT 表查询销售部的部门编号(子查询)SELECT deptnoFROM deptWHERE dname=SALES;上述为子查询SELECT ename FROM empWHERE deptno=(SELECT deptnoFROM deptWHERE dname=SALES);34.列出薪金高于工资平均薪金的所有员工,所在部门,上级领导,公司的工资等级。求出平均工资:SELECT AVG(sal) FROM emp;列出薪金高于平均工资的所有雇员信息SELECT * FROM emp WHERE sal(SELECT A

11、VG(sal) FROM emp);和部门表关联,查询所在部门的信息(注意 KING 是没有上级的 注意右连接)SELECT e.*,d.dname,d.loc,m.ename FROM emp e,dept d,emp mWHEREe.mgr=m.empno(+) ANDe.deptno=d.deptno ANDe.sal(SELECT AVG(sal) FROM emp);求出雇员的工资等级SELECT e.*,d.dname,d.loc,m.ename,s.gradeFROM emp e,dept d,emp m,salgrade sWHEREe.mgr=m.empno(+) ANDe.

12、deptno=d.deptno ANDe.sal(SELECT AVG(sal) FROM emp)AND e.sal BETWEEN s.losal AND s.hisal;35.列出和“SCOTT”从事相同工作的所有员工及部门名称:SCOTT 从事的工作SELECT job FROM emp WHERE ename=SCOTT;做子查询SELECT e.*,d.dname FROM emp e,dept dWHERE e.job=(SELECT job FROM emp WHERE ename=SCOTT)AND e.deptno=d.deptno;以上的结果存在 SCOTT,应该去掉SE

13、LECT e.*,d.dname FROM emp e,dept dWHERE e.job=(SELECT job FROM emp WHERE ename=SCOTT)AND e.deptno=d.deptno AND e.ename!=SCOTT;36.列出薪金等于部门 30 中员工薪金的所有员工的姓名和薪金求出部门 30 中的员工薪金SELECT sal FROM emp WHERE deptno=30;子查询SELECT ename,sal FROM empWHERE sal IN (SELECT sal FROM emp WHERE deptno=30)AND deptno!=30;

14、37.列出薪金高于在部门 30 工作的所有员工的薪金的员工姓名和薪金、部门名称在之前的程序进行修改使用ALL ,比最大还大SELECT ename,sal FROM empWHERE sal ALL(SELECT sal FROM emp WHERE deptno=30)AND deptno!=30;再和 dept 关联,求出部门名称SELECT e.ename,e.sal,d.dname FROM emp e,dept dWHERE e.sal ALL(SELECT sal FROM emp WHERE deptno=30)AND e.deptno!=30AND e.deptno=d.dep

15、tno;38.列出每个部门工作的员工数量、平均工资和平均服务期限每个部门工作的员工数量:SELECT d.dname,COUNT(e.empno)FROM emp e,dept dWHERE e.deptno=d.deptnoGROUP BY d.dname;求出平均工资和服务年限SELECT d.dname,COUNT(e.empno),AVG(sal),AVG(MONTHS_BETWEEN(sysdate,hiredate)/12) 年FROM emp e,dept dWHERE e.deptno=d.deptnoGROUP BY d.dname;39.列出所有员工的姓名、部门和工资SEL

16、ECT e.ename,d.dname,e.sal FROM emp e,dept d WHERE e.deptno=d.deptno;40.列出所有部门的相信信息和部门人数列出所有部门的人数SELECT deptno dno,COUNT(empno) cou FROM empGROUP BY deptno;把上表当成临时表:【由于 40 部门没有雇员,所以应该使用 0 表示】SELECT d.*,NVL(ed.cou,0) FROM dept d,(SELECT deptno dno,COUNT(empno) cou FROM empGROUP BY deptno) edWHERE d.deptno=ed.dno(+);41、列出各种工作的最低工资以及从事此工作的雇员姓名:按工作分组求出最低工资

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。