ITPub博客

首页 > 数据库 > Oracle > 转 Oracle基本操作语句 one day

转 Oracle基本操作语句 one day

Oracle 作者:qiankun0502 时间:2011-03-04 10:25:49 0 删除 编辑

转自:http://www.cnblogs.com/eastjazz/archive/2008/05/10/1191727.html

 

公司很快就要上Oracle ERP,不懂Oracle实在不行呐,在学习的过程中总结了一些基本的操作语句,摘录下来与大家共享,多多指教.

(1) 查询所有的记录  select from scott.emp 
(2) 查询所有记录的某些字段  select empno,ename,job from scott.emp 
(3) 查询某些字段的不同记录  select distinct job from scott.emp

(4) 单条件的查询 select empno,ename,job from scott.emp where job='manager'

    其中等号可以换成其他运算符: 

    != 不等于 select empno,ename,job from scott.emp where job!='manager'

    ^= 不等于 select empno,ename,job from scott.emp where job^='manager'

    <>不等于  select empno,ename,job from scott.emp where job<>'manager'

    <小于  select sal from scott.emp where sal<1000

    >大于 select sal from scott.emp where sal>1000

    <=小于等于 select sal from scott.emp where sal<=1000

    >=大于等于  select sal from scott.emp where sal>=1000

    in 在列表  select sal from scott.emp where sal in(1000,2000)

    not in 不在列表 select sal from scott.emp where sal not in(1000,2000)

    between...and 介于..与..间 select sal from scott.emp where sal  between 1000 
    and 2000

    not between...and 不介于..与..之间  select sal from scott.emp where sal not 
    between 1000 and 2000

    like 模式匹配  select ename from scott.emp where ename like 'M%' 
    (%表示任意长度的长度串)

                  select ename from scott.emp where ename like 'M_' 
                  (_表示一个任意的字符)


   is null 是否为空  select ename from scott.emp where ename is null

   is not null 不为空 select ename from scott.emp where ename is not null

    or(或)  select ename from scott.emp where ename='joke' or ename='jacky'

    and(与) select ename from scott.emp where ename='and' or ename='jacky'

    not(非) select ename from scott.emp where not ename='and' or ename='jacky'


 (5)字段运算(+ /) select ename, sal,mgr,sal+mgr from scott.emp

(6)字段重命名 select ename 姓名,empno 工号, job 工作 from scott.emp

(7)无条件多表查询 select scott.ename,scott.job dept.dname,dept.loc from scott,dept;

等值多表查询 select scott.ename,scott.job dept.dname,dept.loc from scott,dept where scott.ename=dept.dname;

非等值多表查询 select scott.ename,scott.job dept.dname,dept.loc from scott,dept where scott.ename!=dept.dname and scott.job!='工人';

(8)嵌套查询(IN) select empno,ename,sal,job from scott.emp where sal in(select sal from scott.emp where ename='ward');

嵌套查询(ANY) select empno,ename,sal,job from scott.emp where sal any(select sal from scott.emp where ename='ward');

嵌套查询(SOME) select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal=some(select sal from scott.emp where job='manage');

嵌套查询(Exists) select emp.empno,emp.ename,emp.job,emp.sal from scott.emp,scott.dept where exists(select from scott.emp where 
scott.emp.deptno=scott.dept.deptno);

嵌套查询(Union)并集  (select deptno from scott.emp) union (select deptno from 
scott.dept)

嵌套查询(intersect)交集  (select deptno from scott.emp) intersect (select deptno from scott.dept)

嵌套查询(minus)补集  (select deptno from scott.emp) minus (select deptno from scott.dept)

RowNUM 行号运用 

(1) select RowNUM,ename from scott.emp;

(2) select ename,sal,from scott.emp where (RowNUM>3 and RowNUM<7) order by sal;


(1)插入数据
/单行/
insert into scott.emp(empno,ename,hiredate) values(1000,'jack','20-10月-2008');
/批量/
insert into scott.emp(empno,ename,hiredate)(select empno+100,ename,hiredate from scott.emp);

(2)表复制

create table  scott.dztest as (select distinct empno,ename,hiredate from scott.emp where empno>=7000);

(3)删除数据

delete from scott.emp where scott.ename='ward';

(4)删除整表数据

truncate table scott.dztest;

(5)更新数据

update scott.emp set ename='dezai' where ename='ward';

(6)嵌套更新

update scott.emp set ename=(select sal from scott.emp where  scott.sal='4000') where empno=1245

<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24129613/viewspace-1116742/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2010-06-21