Oracle的sql语句练习题含答案 ; A/ P; q8 y% R0 b6 h0 Q
--1、选择部门30中的雇员
9 N. \: }) M0 w* b select * from emp where deptno=30;
3 ~" E% N! E% n! I4 A, J* a --2、列出所有办事员的姓名、编号和部门 : `) G2 D0 s- W
select ename,empno,dname from emp e inner join dept d on e.deptno = d.deptno where job=upper(’clerk’);
2 O; Q$ W6 H! @) l' u7 n --3、找出佣金高于薪金的雇员 - q* P) O& [3 J5 Z$ }* ?
select * from emp where comm>sal; 8 u+ w# Y- [$ g, B7 ?/ a9 r
--4、找出佣金高于薪金60%的雇员
/ B" b4 k- P8 H; m select * from emp where comm>sal*0.6
9 B. l& | n. C --5、找出部门10中所有经理和部门20中的所有办事员的详细资料
+ B+ e: S' n- L7 @+ z select * from emp where (deptno=10 and job=upper(’manager’)) or (deptno=20 and job=upper(’clerk ’));
5 W/ g% m* Q7 Z$ `5 ~( c% e9 ] --6、找出部门10中所有经理、部门20中所有办事员,既不是经理又不是办事员但其薪金>=2000的所有雇员的详细资料
; w1 I H' p) c, z7 u% y4 ] select * from emp where (deptno=10 and job=upper(’manager’)) or (deptno=20 and job=upper(’clerk ’)) or (jobupper(‘manager’) and jobupper(‘clerk’) and sal>=2000) 0 N' Z! g" w0 ]. u+ K
--7、找出收取佣金的雇员的不同工作 6 F" p3 T4 R' s. t+ p
select distinct job from emp where comm>0;
$ o) I, z! j$ M3 v/ w --8、找出不收取佣金或收取的佣金低于100的雇员 ) B1 V: W8 j+ U: ?2 r% C
select * from emp where nvl(comm,0)25; 1 E- Z" `" @- A3 J7 L+ A- {1 j0 W
select * from emp where hiredate |