oracle
琴剑山庄
这个作者很懒,什么都没留下…
展开
-
Oracle内连接、外连接、右外连接、全外连接小总结
数据库版本:Oracle 9i表TESTA,TESTB,TESTC,各有A, B两列AB00110A00220AAB00110B00330BA原创 2016-09-27 16:09:09 · 546 阅读 · 1 评论 -
oracle笔记(9)---- 史上最全oracle练习题
1.取得每个部门最高薪水的人员名称 第一步:取得每个部门的最高薪水 select max(sal) from emp group by deptno;第二步:根据第一步的结果和员工表进行关联,获取人员名称select a.empno,a.ename,a.sal,a.deptno from emp a join (select deptno, max(sal) m原创 2017-02-07 18:03:07 · 8897 阅读 · 1 评论 -
oracle笔记(7)----oracle 查询执行顺序
Oracle 语句提高查询效率的方法1:.. where column in(select * from ... where ...); 2:... where exists (select 'X' from ...where ...); 第二种格式要远比第一种格式的效率高。在Oracle中可以几乎将所有的IN操作符子查询改写为使用EXISTS的子查询 使用EXISTS,Ora原创 2017-02-07 17:59:53 · 4639 阅读 · 0 评论 -
oracle笔记(6)----exists 和not exists、in、not in
1、exitsts、not exists 解释exists (sql 返回结果集为真)not exists (sql 不返回结果集为真)如下: 表A ID NAME 1 A12 A23 A3表B ID AID NAME 1 1 B12 2 B23 2 B3表A和表B原创 2017-02-07 17:43:21 · 2060 阅读 · 0 评论 -
oracle笔记(5)----排序函数row_number、rank、dense_rank
项目开发中,我们有时会碰到需要分组排序来解决问题的情况,如:1、要求取出按field1分组后,并在每组中按照field2排序;2、亦或更加要求取出1中已经分组排序好的前多少行的数据这里通过一张表的示例和SQL语句阐述下oracle数据库中用于分组排序函数的用法。a、row_number() over()row_number()over(partition by col1 order b原创 2017-02-07 16:10:33 · 605 阅读 · 0 评论 -
oracle笔记(4)----层次查询
层次查询的概念语法格式:select [level], column, expr... from table[where condition]start with conditionconnect by [prior column1= column2 |column1 = prior column2];层次查询是通过start with和connect by子句标识的:原创 2017-02-07 15:43:40 · 351 阅读 · 0 评论 -
oracle笔记(3)----trunc、round 、ceil和floor使用
1.1trunc函数处理数字trunc函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。其具体的语法格式如下TRUNC(number[,decimals])其中:number 待做截取处理的数值decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分。select trunc(123.98)f原创 2017-02-07 15:08:05 · 431 阅读 · 0 评论 -
oracle笔记(2)----substr使用
oracle的substr函数的用法 取得字符串中指定起始位置和长度的字符串 substr( string, start_position, [ length ] ) 如: substr('This is a test', 6, 2) would return 'is' substr('This is a test', 6) would retu原创 2017-02-07 14:58:42 · 2190 阅读 · 0 评论 -
oracle笔记(1)----escape使用
ESCAPE用法1.使用 ESCAPE 关键字定义转义符: 在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符。2.ESCAPE 'escape_character' 允许在字符串中搜索通配符而不是将其作为通配符使用。escape_character 是放在通配符前表示此特殊用途的字符。 select * from a WHERE name LIKE '%aa/原创 2017-02-07 14:53:06 · 315 阅读 · 0 评论 -
oracle--同一张表分组统计
select get_hrmsubname(f.subid) subname, sum(case when f.status=1 then 1 else 0 end) status1, sum(case when f.status=2 then 1 else 0 end) status2, sum(case when f.status=3 then 1 else 0原创 2017-02-06 10:04:35 · 1995 阅读 · 0 评论 -
oracle笔记(8)----select查询
Scott表下有这么几个常用的表,而且还带有数据。分别是emp、dept、salgrade;1、查看表结构用desc desc emp; 2、空表dual,最常用的空表,如: select 2 * 4 from dual; select sysdate from dual; 3、双引号能保持格式 如:select sysdate “toD原创 2017-02-07 18:02:14 · 626 阅读 · 0 评论