日期:2014-05-16  浏览次数:20417 次

oracle 查询语句
1:select ename "name" ,sql+NVL(comm,0) "income",job from emp where job not like "%aa%" order by job;
NAL(COMM,0);---把null转为0
NAL(TO_CHAR(COMM),"no commission");
NAL(HIREDATE,'31-DEC-99');
2:
select ename "name",job,sal "salary"
     DECODE(job,'aa',sal*1,----逻辑判断
                        'bb',sal*2,
                         'cc',sal*3

);
3:select length(name) from emp;
4:SELECT * FROM lz_USER l WHERE  EXISTS (SELECT * FROM lz_gl );
6: nullif(length(name),length(job))
如果两个相当就返回null,否则返回length(name)值
7:create table  emp_null as select eame,sal,comm from emp;
8:coalesce(comm,sal*0.1,100,,,,,,n);
如果 comm不为空,返回comm;
如果comm为空,返回sal*0.1
如果comm为空,sal*0.1为空,返回100,
。。。。
9:select ename 'name' ,job,sal ,
        case job when 'aa' then 100
                      when 'bb'then 200
                       when 'cc' then 300
                       else 400 end
         "jobb" from emp order by job;
10:修改:select * from emp for update;
11:insert into sales(code,name,dalary,commission) select empno,ename,sal,comm
from emo where job like 'sale%';
12:insert into emp (empno,ename,job) values (&no,"aa",'bb');
注意:&no为变量
13:15:查看数据库所有索引SELECT * FROM User_Indexes;
14:oracle 提供五种约束
非空,唯一,主键,外键,条件,
15:oracle视图问题:
1:简单视图:
数据是仅从一个表中提取
不包含函数
不包含分组数据
可以通过该视图进行dml操作
2:复杂视图:
数据是从多个表中提取的
包含函数
包含分组函数
不一定能够通过该视图进行dml操作
---
3:
3.1可以在简单视图上执行dml操作
3.2:如果在视图中包含,分组函数,group by 子句,或distinct ,就不能通过视图进行删除,修改,添加操作
3.3:如果视图中包含了由表达式组成的列或者伪列rownum,不能通过视图进行,添加,修改
3.4:如果一个视图中没有包含引用表中那些不能为空(not null)的列,也不能通过该视图进行插入(insert)操作
16:with check option
create view sales30 as select * from emp where deptno=30 with check option connstratint  sales30_ck;
当执行:update sales30 set septno=10  where job
="aa"; 报错,因为:where deptno=30 with check option connstratint  sales30_ck;
16.2:create or replace view acct as select * from emp with read only;只读
16.3:内嵌视图
select a,b,c,d, from emp,(select cc,dd from job) m where  emp.a=m.cc;
16.4:select * from emp where rownum <=12;
17:查看用户的权限
SELECT * FROM Session_Privs;
18:创建角色
create role animal;
给角色赋予权限
grant dba to animal;
给用户赋予角色
grant animal to dog,cat,pig;
--dog,cat ,pig都是dba了哦!
--删除用户
drop user cat
删除用户及用户的所有数据,表...
drop user cat cascade;
数据库预定义的两个角色,connect ,resource 如果对安全要求比较高建议不要用
如果想快捷,可以使用哦!
17:pl slq使用