您的位置:首页 > 数据库 > Oracle

Oracle表的常用查询实验(三)

2013-10-12 08:55 330 查看

Oracle表的常用查询实验(三)

1.查询显示EMP表各雇员的工作类型,并翻译为中文显示(用decode函数)

select empno,ename,decode(job,'clerk','职员','MANAGER','经理','ANALYST','工程师','其他')
from my_emp;
EMPNO ENAME     
DECODE(JOB,'CLERK','职员','MAN
----- ---------- ------------------------------
 7799 YUAN      职员
 7566 JONES     经理
 7782 CLARK     经理
 7788 SCOTT     工程师
 7839 KING      其他
 7876 ADAMS     其他
 7902 FORD      工程师
 7934 MILLER    其他
 2301 kkkkk     
职员

 

2.建立一个视图myV_emp,视图包括myEMP表的empno、ename、sal,并按sal从大到小排列。

create view  myV_emp as select empno,ename,sal from my_emp order by sal desc;

 

3.在myEMP表中建立ename的唯一性索引。

create unique index index_ename on my_emp(ename);

 

4.计算EMP表中COMM最高与最低的差值,COMM值为空时按0计算。

SQL> declare
  2  masal int;
  3  misal int;
  4  intersectsal int;
  5  begin
  6  select max(nvl(sal,0)) into masal from emp ;
  7  select min(nvl(sal,0)) into misal from emp;
  8  intersectsal:=masal-misal;
  9  dbms_output.put_line(intersectsal);
 10  end;
 11  /
 
3900
PL/SQL procedure successfully completed
 

5.根据表myEMP中deptno字段的值,为姓名‘JONES’的雇员修改工资;若部门号为10,则工资加100;部门号为20,加200;其他部门加300。

selectdecode(deptno,10,sal+100,20,sal+200,sal+300)from
empwhere ename='YUAN';

 

6.查找部门编号和职位都不同的职员信息

SQL> select distinct empno,job from emp;

 

EMPNO JOB

----- ---------

 7566 MANAGER

 7799 clerk

 7788 ANALYST

 7934 CLERK

 7839 PRESIDENT

 7876 CLERK
说明:distinct同时作用于empno,job两个字段;

 
 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle select 表的查询