Oracle练习题(一)
说明:以下查询以scott模式下emp表和dept表为操作对象
(1) 查询20号部门的所有员工信息
select * from emp where deptno = 20;
(2) 查询所有职业为CLERK的员工号、员工姓名和部门号
select empno,ename,deptno from emp where job = ‘CLERK’;
(3) 查询资金高于工资的员工信息
select * from emp where nvl(comm,0)>sal;
(4) 查询奖金高于工资20%的员工信息
select * from emp where nvl(comm,0)>sal*0.2;
(5) 查询10号部门中职业为MANAGER和20号部门中职业为CLERK的员工信息
select * from emp where deptno = 10 and job = ‘MANAGER’ or deptno = 20 and job = ‘CLERK’;
(6) 查询所有职业不是MANAGER和CLERK,具工资大于或者等于2000的员工信息。
select * from emp where job not in (‘MANAGER’,‘CLERK’) and sal >=2000;
(7) 查询所有员工工资与资金的总和
select sal+nvl(comm,0) sum from emp;
(8) 查询每个员工的部门信息(含部门名称和地址)
select e.ename,t.dname,t.loc from dept t,emp e where t.deptno = e.deptno;
(9) 查询每个员工的直接领导者姓名
select e1.ename “员工”,e2.ename “直接领导者姓名” from emp e1, emp e2 where e1.mgr = e2.empno(+);
(10) 查询每个部门的职工姓名,没有职工的部门也要显示
select d.deptno,e.* from dept d,emp e where d.deptno = e.deptno(+);