SQL> conn system
已连接。
SQL> conn scott/scott
已连接。
1.查询员工表所有数据,并说明使用*的缺点
SQL> select * from emp
2 /
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
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- -------------- ---------- ----------
DEPTNO
----------
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
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- -------------- ---------- ----------
DEPTNO
----------
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
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- -------------- ---------- ----------
DEPTNO
----------
7844 TURNER SALESMAN 7698 08-9月 -81 1500 0
30
7876 ADAMS CLERK 7788 23-5月 -87 1100
20
7900 JAMES CLERK 7698 03-12月-81 950
30
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- -------------- ---------- ----------
DEPTNO
----------
7902 FORD ANALYST 7566 03-12月-81 3000
20
7934 MILLER CLERK 7782 23-1月 -82 1300
10
已选择14行。
SQL> col sal for 9999
SQL> col comm for 9999
SQL> col comm for 9999;
SQL> /
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ---------- -------------- ----- ----- ----------
#### SMITH CLERK 7902 17-12月-80 800 20
#### ALLEN SALESMAN 7698 20-2月 -81 1600 300 30
#### WARD SALESMAN 7698 22-2月 -81 1250 500 30
#### JONES MANAGER 7839 02-4月 -81 2975 20
#### MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30
#### BLAKE MANAGER 7839 01-5月 -81 2850 30
#### CLARK MANAGER 7839 09-6月 -81 2450 10
#### SCOTT ANALYST 7566 19-4月 -87 3000 20
#### KING PRESIDENT 17-11月-81 5000 10
#### TURNER SALESMAN 7698 08-9月 -81 1500 0 30
#### ADAMS CLERK 7788 23-5月 -87 1100 20
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ---------- -------------- ----- ----- ----------
#### JAMES CLERK 7698 03-12月-81 950 30
#### FORD ANALYST 7566 03-12月-81 3000 20
#### MILLER CLERK 7782 23-1月 -82 1300 10
已选择14行。
2.查询职(job)为'PRESIDENT'的员工的工资
SQL> select sal from emp where job='PRESIDENT'
2 /
SAL
-----
5000
3.查询佣金为0或为null的员工的信息
SQL> select * from emp where comm is null
2
SQL> /
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ---------- -------------- ----- ----- ----------
#### SMITH CLERK 7902 17-12月-80 800 20
#### JONES MANAGER 7839 02-4月 -81 2975 20
#### BLAKE MANAGER 7839 01-5月 -81 2850 30
#### CLARK MANAGER 7839 09-6月 -81 2450 10
#### SCOTT ANALYST 7566 19-4月 -87 3000 20
#### KING PRESIDENT 17-11月-81 5000 10
#### ADAMS CLERK 7788 23-5月 -87 1100 20
#### JAMES CLERK 7698 03-12月-81 950 30
#### FORD ANALYST 7566 03-12月-81 3000 20
#### MILLER CLERK 7782 23-1月 -82 1300 10
已选择10行。
4.查询入职日期在1981-5-1到1981-12-31之间的所有员工的信息
SQL> select * from emp where hiredate between '01-5月-81' and '31-5月-81'
2 /
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ---------- -------------- ----- ----- ----------
#### BLAKE MANAGER 7839 01-5月 -81 2850 30
5.查询所有名字长度为4的员工的员工的编号,姓名
SQL> select empno,ename from emp where length(ename)=4
2 /
EMPNO ENAME
----- ----------
#### WARD
#### KING
#### FORD
6. 显示10号部门饿所有经理和20号部门的所有员工
SQL> select * from emp where deptno=10 and job='MANAGER' or deptno=20 and job='CLERK'
2 /
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ---------- -------------- ----- ----- ----------
#### SMITH CLERK 7902 17-12月-80 800 20
#### CLARK MANAGER 7839 09-6月 -81 2450 10
#### ADAMS CLERK 7788 23-5月 -87 1100 20
7.显示姓名没有'L'字的员工的详细信息或含有'SM'字的员工信息
SQL> select * from emp where ename not like '%L%' or ename like '%SN%'
2 /
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ---------- -------------- ----- ----- ----------
#### SMITH CLERK 7902 17-12月-80 800 20
#### WARD SALESMAN 7698 22-2月 -81 1250 500 30
#### JONES MANAGER 7839 02-4月 -81 2975 20
#### MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30
#### SCOTT ANALYST 7566 19-4月 -87 3000 20
#### KING PRESIDENT 17-11月-81 5000 10
#### TURNER SALESMAN 7698 08-9月 -81 1500 0 30
#### ADAMS CLERK 7788 23-5月 -87 1100 20
#### JAMES CLERK 7698 03-12月-81 950 30
#### FORD ANALYST 7566 03-12月-81 3000 20
已选择10行。
8.显示各个部门经理的工资
SQL> select sal from emp where job='MANAGER'
2 /
SAL
-----
2975
2850
2450
9.显示佣金收入比工资高的员工的详细信息
SQL> select * from emp where comm>sal
2 /
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ---------- -------------- ----- ----- ----------
#### MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30
SQL> exit