Oracle经典作业与答案

上传人:s9****2 文档编号:496098858 上传时间:2023-05-03 格式:DOC 页数:12 大小:74KB
返回 下载 相关 举报
Oracle经典作业与答案_第1页
第1页 / 共12页
Oracle经典作业与答案_第2页
第2页 / 共12页
Oracle经典作业与答案_第3页
第3页 / 共12页
Oracle经典作业与答案_第4页
第4页 / 共12页
Oracle经典作业与答案_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《Oracle经典作业与答案》由会员分享,可在线阅读,更多相关《Oracle经典作业与答案(12页珍藏版)》请在金锄头文库上搜索。

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 between 4000 and 5000;4. 选择职员表中在20和30号部门工作的员工姓名和部门号Select ename, deptno from e

2、mp 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 sal desc;7. 选择职员表中员工姓名的第三个字母是A的员工姓名Select ename from emp where ename like _A%;8. 列出部门表中的

3、部门名字和所在城市;select dname, loc from dept;9. 显示出职员表中的不重复的岗位jobselect distinct job from emp;10. 连接职员表中的职员名字、职位、薪水,列之间用逗号连接,列头显示成OUT_PUT(提示:使用连接符|、别名)select ename | , | job | , | OUT_PUT(将列名大写) sal from emp;11. 查询职员表emp中员工号、姓名、工资,以及工资提高百分之20%后的结果select empno, ename, sal, sal * 1.2 salary from emp;12. 查询员工

4、的姓名和工资数,条件限定为工资数必须大于1200,并对查询结果按入职时间进行排列,早入职排在前面,晚入职排在后面。select ename, sal from emp where sal 1200 order by hiredate;13. 列出除了ACCOUNT部门还有哪些部门。select deptno, dname, loc from dept where dname ACCOUNT;-day2-1. 将员工的姓名按首字母排序,并列出姓名的长度(length)select ename, length(ename) from emp order by ename;2. 做查询显示下面形式的

5、结果 earns monthly but wants 例如:Dream SalaryKing earns $5000 monthly but wants $15000select ename | earns $ | sal | monthly but wants $ | sal * 3 “Dream Salary” from emp;3. 使用decode函数,按照下面的条件:JOB GRADEPRESIDENT AMANAGER BANALYST CSALESMAN DCLERK E产生类似下面形式的结果ENAMEJOB GRADESMITHCLERKESELECT ename, job,

6、DECODE(job,PRESIDENT,A,MANAGER,B,ANALYST,C,SALESMAN,D,CLERK,E) AS GradeFROM EMP;4. 查询各员工的姓名ename,并显示出各员工在公司工作的月份数(即:与当前日期比较,该员工已经工作了几个月, 用整数表示)。select ename, round(months_between(sysdate, hiredate) hire_months from emp;5. 现有数据表Customer,其结构如下所示: cust_id NUMBER(4) Primary Key, -客户编码 cname VARCHAR2(25)

7、 Not Null, -客户姓名 birthday DATE, -客户生日account NUMBER. -客户账户余额(1).构造SQL语句,列出Customer数据表中每个客户的信息。如果客户生日未提供,则该列值显示“not available” 。如果没有余额信息,则显示“no account”。(2).构造SQL语句,列出生日在1987年的客户的全部信息。(3).构造SQL语句,列出客户帐户的余额总数。1)select cust_id, cname, nvl(to_char(birthday, yyyy-mm-dd), not available), nvl(to_char(accou

8、nt, 9999), no account) from Customer;2)select * from Customer where extract(year from birthday) = 1987;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,以及月收入(薪水 + 奖金),注意有的员工暂时没有奖金

9、。select empno, ename, sal + nvl(comm, 0) month_salary from emp;8. 查找员工姓名的长度是5个字符的员工信息。select * from emp where length(ename) = 5;9. 查询员工的姓名和工资,按下面的形式显示:(提示:使用lpad函数)NAME SALARY-SMITH $24000select ename name, lpad(sal, 15, $) salary from emp;10. 查询薪水大于2000元的员工的姓名和薪水,薪水值显示为RMB5000.00这种形式,并对查询结果按薪水的降序方式

10、进行排列;select ename, to_char(sal, L9999.00) salary from empwhere sal 2000order by sal desc;11. 构造查询语句,产生类似于下面形式的结果:NAME HIREDATE REVIEW-SMITH 1980-12-17 1980年12月17日select ename name, to_char(hiredate, yyyy-mm-dd) hiredate,to_char(hiredate, yyyy年mm月dd日) reviewfrom emp;12. 显示所有员工的姓名ename,部门号deptno和部门名称d

11、name。SFrom emp e join dept d on e.deptno = d.deptno;13. 选择在DALLAS工作的员工的员工姓名、职位、部门编码、部门名字 SFrom emp e join dept d on e.deptno = d.deptno and d.loc = DALLAS;14. 选择所有员工的姓名ename,员工号deptno,以及他的管理者mgr的姓名ename和员工号deptno,结果类似于下面的格式employeesEmp#managerMgr#SMITH7369FORD7902select wor.ename employees, wor.empn

12、o Emp#, mag.ename manager, mag.empno Mgr#from emp wor, emp magwhere wor.mgr = mag.empno;15. 查询各部门员工姓名和他们所在位置,结果类似于下面的格式DeptnoEnameLoc20SMITHDALLASfrom emp e join dept dusing (deptno);16. 查询公司员工工资的最大值,最小值,平均值,总和select max(sal), min(sal), avg(sal), sum(sal) from emp;17. 列出每个员工的名字,工资、涨薪后工资(涨幅为8%),元为单位进

13、行四舍五入Select ename , sal , round(sal*1.08) from emp;18. 查询出JONES的领导是谁(JONES向谁报告)。select e1.egr = e1.empno and e2.ename = JONES;19. JONES领导谁。(谁向JONES报告)。select e1.ename from emp e1 , emp 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 group by job;3. 查询员工最高工

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号