oracle 合并查询 事务 sql函数小知识学习 |
本文标签:oracle,合并查询,事务 表查询: 合并查询:使用union关键字,可将满足条件的重复行去掉 。 复制代码 代码如下: select ename,sal,job from emp where sal > 2500 union select ename,sal,job from emp where job = MANAGER; 而union all用法和union相似,但是不会取消重复行 。 intersect 用来取两个结果的交集 。 minus用来取两个结果的差集 。 使员工scott的岗位,工资,补助与SMITH员工一样 。(使用子查询修改数据) 复制代码 代码如下: update emp set (job,sal,comm)=(select job,sal,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,1) from emp; 将第一个字母之后的字母以小写的形式表示 复制代码 代码如下: <PRE class=sql name="code">select lower(substr(ename,2,length(ename)-1)) from emp;</PRE><BR> 然后将两个结果合并,则得到了要显示的内容: <PRE></PRE> <PRE class=sql name="code" sizcache="0" sizset="11"><PRE class=sql name="code">select upper(substr(ename,1,1))||lower(substr(ename,2,length(ename)-1)) as name from emp;</PRE><BR> 替换函数replace <PRE></PRE> <PRE class=sql name="code" sizcache="0" sizset="14"><PRE class=sql name="code">select replace(ename,A,我) from emp;</PRE><BR> <BR> <BR> <PRE></PRE> </PRE></PRE> |