oracle常用的关键字,oracle中经常使用关键字(函数)用法与比较

Union:将两个查询的结果集相加,并过滤重复的数据,同时进行默认规则的排序。

用法:select * from t1 union select * from t2;oracle

Union all:将两个查询的结果集相加,无论结果中是否有重复所有显示,不进行排序。

用法:select * from t1 union all select * from t2; 日志

Intersect:对两个结果集进行交集操做,不包括重复行,同时进行默认规则的排序;

用法:select * from a intersect select * from bcode

Minus:将两个结果集中相同的数据删除,同时进行默认规则(以结果集的第一个字段)排序。

用法:select * from a minus select * from b排序

Decode:多条件分支判断,8i版本中保留下来的语法。该语法中最后一个参数表示该字段的默认值。

用法:SELECT DECODE(OWNER, 'LOCALSYSTEM', 'LOCAL', 'OTHERSYSTEM', 'OTHER', 'USER') AS OWNER FROM T;索引

Case:多条件分支判断。与Decode相似。9i版本中新增语法。执行效率比Decode要好。

用法:Select CASE owner when 'LOCALSYSTEM' then 'SYSTEM' when 'OTHERSYSTEM' then 'OTHER' ELSE  'USER' END  FROM T;事务

Dual:一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有且只返回一条记录。

不能把DUAL表的UPDATE,INSERT,DELETE权限随意释放出去,这样对于系统是很危险的

用法1: select to_char(sysdate,''yyyy-mm-dd hh24:mi:ss'') from dual;

用法2:select 1+2 from dual;资源

Truncate:在功能上与不带 WHERE 子句的 DELETE 语句相同:两者均删除表中的所有行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源it

少。TRUNCATE TABLE 经过释放存储表数据所用的数据页来删除数据,而且只在事务日志中记录页的释放。

用法:Truncate table t_user;io

Delete: 语句每次删除一行,并在事务日志中为所删除的每行记录一项。table

Drop:删除表定义和表中的数据。

Exsits:使用EXISTS,Oracle会首先检查主查询,而后运行子查询直到它找到第一个匹配项,这就节省了时间。

用法:SELECT * FROM T1 WHERE exists(select * from T2 where T1.a=T2.a);

In:Oracle在执行IN子查询时,首先执行子查询,并将得到的结果列表存放在一个加了索引的临时表中。

在执行子查询以前,系统先将主查询挂起,待子查询执行完毕,存放在临时表中之后再执行主查询。

这也就是使用EXISTS比使用IN一般查询速度快的缘由。

用法:select * from T1 where T1.a in (select T2.a from T2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值