oracle sql[select]语句练习
使用scott/tiger用户下的emp表完成下列练习,表的结构说明如下
empno 员工号
ename 员工姓名
job 工作
mgr 上级编号
hiredate 受雇日期
sal 薪金
comm 佣金
deptno 部门编号
emp员工表字段内容如下:
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
------ ---------- --------- ---------- -------------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-12月-80 800 20
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30
7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30
7566 JONES MANAGER 7839 02-4月 -81 2975 20
7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30
7698 BLAKE MANAGER 7839 01-5月 -81 2850 30
7782 CLARK MANAGER 7839 09-6月 -81 2450 10
7788 SCOTT ANALYST 7566 19-4月 -87 3000 20
7839 KING PRESIDENT 17-11月-81 5000 10
7844 TURNER SALESMAN 7698 08-9月 -81 1500 30
7876 ADAMS CLERK 7788 23-5月 -87 1100 20
7900 JAMES CLERK 7698 03-12月-81 950 30
7902 FORD ANALYST 7566 03-12月-81 3000 20
7934 MILLER CLERK 7782 23-1月 -82 1300 10
1.选择部门30中的所有员工?
select * from emp where deptno=20;
2.列出所有办事员(CLERK)的姓名,编号和部门编号?
select ename,empno,deptno from emp where job='CLERK';
3.找出佣金高于薪金的员工?
select * from emp where comm > sal;
4.找出佣金高于薪金的60%的员工?
select * from emp where comm > (sal * 0.6);
5.找出部门10中所有经理(MANAGER)和部门20中所有办事员(CLERK)的详细资料. select * from emp where deptno=10 and job='MANAGER' or deptno=20 and job='CLERK';
6.找出部门10中所有经理(MANAGER),部门20中所有办事员(CLERK),既不是经理又不是办事员但其薪金大于或等于2000的所有员工的详细资料.