oracle 合并查询 事务 sql函数小知识学习
合并查询:使用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>select lower(substr(ename,2,length(ename)-1)) from emp;</PRE><BR>
然后将两个结果合并,则得到了要显示的内容:
<PRE></PRE>
<PRE class=sql sizcache="0" sizset="11"><PRE class=sql>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 sizcache="0" sizset="14"><PRE class=sql>select replace(ename,'A','我') from emp;</PRE><BR>
<BR>
<BR>
<PRE></PRE>
</PRE></PRE>
免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。
新手学oracle常见疑问2019-12-05
oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解2019-01-22
oracle case when 语句的用法详解2019-02-07
ORACLE性能优化之SQL语句优化2021-03-10
oracle中使用group by优化distinct2019-12-05
ORACLE 10g 安装教程[图文]2019-01-21
ORA-00947:Not enough values (没有足够的值)的深入分2019-01-22
Oracle显示游标的使用及游标for循环2019-03-01
Oracle 查看表空间的大小及使用情况sql语句2019-01-22
ORA-12514及ORA-28547错误解决方案2019-01-23