oracle 合并查询 事务 sql函数小知识学习

查询


合并查询:使用union关键字,可将满足条件的重复行去掉。
代码如下:
select ename,sal,job from emp where sal > 2500 union select ename,job from emp where job = 'MANAGER';

而union all用法和union相似,但是不会取消重复行。
intersect 用来取两个结果的交集。
minus用来取两个结果的差集。
使员工scott的岗位,工资,补助与SMITH员工一样。(使用子查询修改数据)
代码如下:
update emp set (job,comm)=(select job,comm from emp where ename = 'SMITH') where ename = 'SCOTT';

事务:


设置保存点
savepoint a
取消部分事务
roll back to a
取消全部事务
rollback
设置为只读事务,用于统计某一刻之前的信息,而在统计过程中,可能还有访问,影响统计,所以,统计之前,设为只读事务,这样就保存此刻之前的结果,而之后的修改,将不会显示出来,设为只读事务的语句为:
代码如下:
set transaction read only;

设置之后会显示事务处理集。
sql函数
显示内容以小写形式显示,使用lower函数,比如
代码如下:
select lower(ename),sal from emp;

显示内容以大写形式显示,使用upper函数.还有length函数和substr函数
代码如下:
select * from emp where length(ename)=5;
select substr(ename,1,3) from emp;

substr表示从第一个取,取3个。
以首字母大写的方式显示所有员工的姓名。
将员工的姓名首字母大写
代码如下:
select upper(sub(ename,1) from emp;

将第一个字母之后的字母以小写的形式表示
代码如下:
sql name="code">select lower(substr(ename,2,length(ename)-1)) from emp;


然后将两个结果合并,则得到了要显示内容:
 
sql name="code" sizcache="0" sizset="11">
sql name="code">select upper(substr(ename,1))||lower(substr(ename,length(ename)-1)) as name from emp;


替换函数replace
 
sql name="code" sizcache="0" sizset="14">
sql name="code">select replace(ename,'A','我') from emp;






 

相关文章

数据库版本:11.2.0.4 RAC(1)问题现象从EM里面可以看到,在23号早上8:45~8:55时,数据库等待会话暴增...
(一)问题背景最近在对一个大约200万行数据的表查看执行计划时,发现存在异常,理论上应该返回100多万...
(一)删除备份--DELETE命令用于删除RMAN备份记录及相应的物理文件。当使用RMAN执行备份操作时,会在RM...
(1)DRA介绍 数据恢复顾问(Data Recovery Advise)是一个诊断和修复数据库的工具,DRA能够修复数据文...
RMAN(Recovery Manager)是Oracle恢复管理器的简称,是集数据库备份(backup)、修复(restore)和恢复...
(1)备份对象 可以使用RMAN进行的备份对象如下: --整个数据库:备份所有的数据文件和控制文件; --数...