主题 : orcale查询练习
级别: 举人
UID: 28907
积分:133 加为好友
威望: 0 精华: 0
主题:126 回复:13
注册时间:2012-02-03
在线时长:0
1#   发表于:2012-03-16 11:17:30  IP:58.254.*.*
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
<a title="java课程" href="http://www.iblue.org/javanet/java-net.html">java课程</a> <a href="http://www.iblue.org" target="_blank">www.iblue.org</a> </br>我们相信分享智慧是快乐的,学习和教育也理应如此
1 共1页