oracle 中计算a-,中南大学oracle试卷A答案

Oracle试卷

一、使用scott/tiger用户下的emp表和dept表完成下列题目

(本题45分,每小题3分)

1.查看emp和dept的表结构以及所有的记录.

DESC emp; Select * from emp;

2.找出佣金高于薪金的员工姓名

select * from emp where comm>sal;

3.以首字母大写其余小写的方式显示所有员工的姓名

SQL>select lower(substr(ename,1,1))||upper(substr(ename,2,length(ename)-1)) from emp;

4.找出不收取佣金或收取的佣金低于100的员工

select * from emp where comm is null or comm<100;

5.找出收取佣金的员工的不同工作

select distinct job from emp where comm is not null

6.列出所有雇员的雇员名称、部门名称和工资

select ename,dname,sal+nvl(comm,0) from emp,dept where emp.deptno=dept.deptno;

7.显示所有名字中第三个字母是a的雇员的名字

Select ename from emp where ename LIKE ‘—a%;

8.显示所有员工的姓名、工作和薪金,按工作的降序排序,若工作相同则按薪金排序

select ename,job,sal from emp order by job desc,sal;

9.显示满10年服务年限的员工的姓名和受雇日期

Select ename,hiredate from emp where months_between(sysdate,hiredate)>=10*12;

10.列出薪金高于在SALES部门工作的所有员工的薪金的员工姓名和薪金

select * from emp where sal>all (select sal from emp where deptno=30);

11.列出与“MILLER”从事相同工作的所有员工

select * from emp where job=(select job from emp where ename='MILLER');

12.列出所有员工的姓名及其直接上级的姓名

select a.ename,b.ename from emp a,emp b w select ename,(select ename from emp where empno=a.m here a.mgr=b.empno(+);

13.列出各种工作职位的最低工资,且显示最低工资大于1500的记录

select job,min(sal) from emp group by job having min(sal)>1500 14.找出部门10中所有经理(MANAGER),部门20中所有办事员(CLERK),既不是经理又不是办事员但其薪金大于或等于20

select * from emp where (deptno=10 and job=upper('manager')) o job=upper('clerk ')) or (job<>upper(‘manager’) and job<>upp sal>=2000)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值