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>

时间: 2024-11-02 21:16:06

oracle 合并查询 事务 sql函数小知识学习_oracle的相关文章

Oracle层次查询和with函数的使用示例_oracle

开发中大家应该都做过什么类似部门管理这样的功能,一般情况下一个部门下面还有下一级部门(子部门),这个层级就类似一棵树.这种情况下一般会把父级部门和子级部门分成2个或者多个表,这种算是比较常规的做法:有时可能为了数据表管理的方便 就把所有的部门放在一张表里并加上一个字段标识部门之间的隶属关系,这样子看起来有点奇怪,但凑合用用还是Ok的.下面我跟大家分享下我的心得,也就是基于这种设计怎么做数形图,简单的做法就是查询出一个list集合就可以,要怎么办呢先来看下我的数据表  不难看出部门之间用fpare

Oracle层次查询和with函数的使用示例

开发中大家应该都做过什么类似部门管理这样的功能,一般情况下一个部门下面还有下一级部门(子部门),这个层级就类似一棵树.这种情况下一般会把父级部门 和子级部门分成2个或者多个表,这种算是比较常规的做法:有时可能为了数据表管理的方便 就把所有的部门放在一张表里并加上一个字段标识部门之间的隶属关系,这样子看起来有点奇怪,但凑合用用还是Ok的.下面我跟大家分享下我的心得,也就是基 于这种设计怎么做数形图,简单的做法就是查询出一个list集合就可以,要怎么办呢先来看下我的数据表   不难看出部门之间用fp

oracle 会话 死锁 执行sql 执行job的方法_oracle

//根据用户分组会话 select t.USERNAME,count(*) from v$session t group by t.USERNAME //查找某一用户正在执行的sql_id值 select * from v$session t where t.USERNAME = 'BUDGET' and t.SQL_ID is not null //查找对应sql_id的对应sql语句 select m.SQL_TEXT from v$session t , v$sqlarea m where

Oracle中rank,over partition函数的使用方法_oracle

排列(rank())函数.这些排列函数提供了定义一个集合(使用 PARTITION 子句),然后根据某种排序方式对这个集合内的元素进行排列的能力,下面以scott用户的emp表为例来说明rank over partition如何使用. 1)查询员工薪水并连续求和 select deptno,ename,sal, sum(sal)over(order by ename) sum1, sum(sal)over() sum2, 100* round(sal/sum(sal)over(),4) "bal

oracle rba一些小知识

oracle rba相当重要,与oracle恢复及redo内容,检查点进程工作机制,有密不可分的关系与联系:理解它的构成,是进一步深入学习oracle必备路途 摘贴网上基于rba的文章:http://blog.csdn.net/tianlesoftware/article/details/6700080http://space.itpub.net/9240380/viewspace-751510http://www.doc88.com/p-331776598706.html ---非常好,通俗易

几个SQL小知识

原文:几个SQL小知识 写在前面的话:之前做的一个项目,数据库及系统整体构架设计完成之后,和弟兄们经过一段时间的编码,系统如期上线,刚开始运行一切良好,后来随着数据量的急剧膨胀,慢慢出现了很多莫名其妙的问题,经过调试,修改了数据库中几个存储过程的一些问题.有意思的是,有一个存储过程里,为了实现一个小的功能,写了好多好多的代码,又是游标又是循环的,其实用系统的一个默认函数就能解决掉.这里想说的是,学习工作之余,在没有要解决问题的压力之下,还是建议系统的看看书,对于一些认为没啥用的知识点,也建议去仔

Oracle 数组的学习 小知识也要积累,养成好的学习态度_oracle

提叻一个代码段,要人帮助解释一下. 代码段如下: 复制代码 代码如下: declare type t_indexby is table of number index by binary_integer; type t_nesteed is table of number; type t_varray is varray(10) of number; v_indexby t_indexby; v_nested t_nested; v_varray t_varray; begin v_indexb

Oracle 常用SQL函数

oracle|函数 时间:2005-02-18 Oracle的SQL函数分为单行函数和多行函数.单行函数只对单条记录有效,多行函数对多条记录有效. 单行函数包括,字符.数字.日期.转换和普通函数. 字符函数举例:• 全小写  LOWER('SQL Course')   sql course• 全大写 UPPER('SQL Course')     SQL COURSE •首字母大写 INITCAP('SQL Course')    Sql Course拼接 CONCAT('Good', 'Str

Sybase ASA中查询元信息的几个常用SQL函数

Sybase ASA中查询元信息的几个常用SQL函数: sp_column_privileges Unsupported sp_columns table-name [, table-owner ] [, table-qualifier] [, column-name] 返回指定列的数据类型 sp_databases Unsupported sp_datatype_info Unsupported sp_fkeys pktable_name [, pktable-owner][, pktable