一》、Select sysdate +/- time from dual
sysdate+(5/24/60/60) 在系统时间基础上延迟5秒
sysdate+5/24/60 在系统时间基础上延迟5分钟
sysdate+5/24 在系统时间基础上延迟5小时
sysdate+5 在系统时间基础上延迟5天
add_months(sysdate,-5) 在系统时间基础上延迟5月
add_months(sysdate,-5*12) 在系统时间基础上延迟5年
二》、某年/月/周的第几天
DDD 当年第几天 (2007年5月29日为2007年第149天)
SQL> Select to_char(sysdate,'DDD') from dual;
DD 当月第几天
SQL> Select to_char(sysdate,'DD') from dual;
D 周内第几天
SQL> Select to_char(sysdate,'D') from dual;
三》、select case when 及case when 搜索 用法
selecct case salary when 1000 then 'low'
when 5000 then 'hign'
else 'middle' end [sal_Level别名]
from test;
select case when salary<=1000 then 'low'
when salary>5000 then 'hign'
else 'middle' end [sal_Level别名]
from test;
详情请参:http://exceptioneye.iteye.com/blog/1197329
四》、decode用法(作用等同于if,elsif,else,end if)
Decode(条件,值1,显示值1,值2,显示值2,…… 值n,显示值n)
Decode(条件,值1,显示值1,值2,显示值2,…… 值n,显示值n,缺省值)
select decode(salary,1000,1,50000,3) from test;
select decode(salary,1000,1,50000,3,2) from test;
五》、exists,in的用法
in 是把外表和内表作hash join,而exists是对外表作loop,每次loop再对内表进行查询。
A为小表[外表] B为大表[内表] (高效率)
SELECT ID,NAME FROM A WHERE EXIST (SELECT * FROM B WHERE A.ID=B.AID)
这个时候查询它用到了B表上ID列的索引(因为外表小了,遍历的行次数就少了很多),所以效率高
若改为in,则用到了A表上cc列的索引,但是因为A是小表,而且大表B上的索引也没有充分利用,因此效率不高
A为大表 B为小表 (高效率)
SELECT ID,NAME FROM A WHERE ID IN (SELECT ID FROM B)
in 是把外表和内表作hash join,而exists是对外表作loop,每次loop再对内表进行查询。
not in 和not exists
如果查询语句使用了not in 那么内外表都进行全表扫描,没有用到索引;
而not extsts 的子查询依然能用到表上的索引。
所以无论那个表大,用not exists都比not in要快。
也就是说,in和exists需要具体情况具体分析,not in和not exists就不用分析了,尽量用not exists就好了
详情参:http://zlk.iteye.com/blog/903322 exists的用法
分享到:
相关推荐
### Oracle 常用函数及简单示例 Oracle 数据库提供了丰富的内置函数,这些函数能够帮助用户高效地处理数据、格式化输出等。本文将基于提供的部分内容介绍一些常用的 Oracle 函数及其应用示例。 #### 日期时间转换...
### Oracle管道函数详解 #### 一、概述 ...通过以上介绍,我们可以看出Oracle管道函数为Oracle数据库提供了一种灵活高效的方式来处理大量数据并实时返回处理结果,对于某些特定的应用场景非常有用。
总的来说,Hibernate调用Oracle函数涉及到了数据库设计、ORM框架的使用、原生SQL查询和结果映射等多个方面,熟练掌握这些技能对于开发高质量的企业级应用至关重要。希望这篇文章能帮助你更好地理解和应用这些知识。
Oracle 分析函数是 Oracle 8.16 中引入的一个全新的概念,为我们分析数据提供了一种简单高效的处理方式。下面我们将对 Oracle 分析函数进行详细的介绍和分析。 自动汇总函数 自动汇总函数包括 Rollup 和 Cube 两个...
以下是一些重要的Oracle分析函数及其用途: 1. **SUM**: 计算指定列的累计总和。 2. **MIN** 和 **MAX**: 分别找到指定列的最小值和最大值。 3. **AVG**: 计算指定列的平均值。 4. **COUNT**: 统计满足条件的行数。...
这些函数在处理大数据集时尤其有用,可以高效地完成复杂的统计任务,而无需编写额外的存储过程或应用程序逻辑。 总的来说,熟悉和掌握Oracle的分析函数对于开发人员来说非常重要,特别是在开发需要高效数据分析的...
### Oracle分析函数详解 #### 一、概述 Oracle分析函数是一种强大的工具,它允许用户...无论是简单的聚合操作还是复杂的分布分析,Oracle分析函数都能满足需求。希望本文能帮助读者更好地理解和应用这些强大的工具。
在实际编程中,我们需要注意区分Oracle函数的大小写敏感性,因为在PL/SQL中函数是不区分大小写的,但在SQL语句中则可能需要按照实际的大小写来编写函数名。此外,熟悉并正确使用这些函数将有助于我们编写出更高效、...
在Oracle中,内置函数大致可以分为数学函数、字符串函数、日期时间函数、转换函数、系统信息函数和条件判断函数等几大类。 1. **数学函数**: - ABS:返回一个数的绝对值。 - CEIL:向上取整,返回大于或等于指定...
对于Oracle函数,帮助文档通常会列出每个函数的语法、参数、返回值和使用示例,这对于编写SQL查询和编写PL/SQL代码至关重要。同样,对于存储过程,文档会解释如何定义、调用和管理这些自定义的数据库操作序列。 ...
以下是关于Oracle分析函数的一些详细解释和应用场景。 1. **结构和原理**: Oracle分析函数通常采用以下结构: ``` 聚合函数(over (partition by 字段1, 字段2, 字段3 order by 字段 desc/asc range between ...
#### 二、Oracle分析函数简单实例 为了更好地理解Oracle分析函数的作用,我们先来看一个简单的示例。假设有一个员工表EMPLOYEE,其中包含员工ID(EMP_ID)、部门编号(DEPT_NO)、姓名(ENAME)以及薪水(SAL)等...
首先,我们来了解**Oracle函数**。函数是预定义的代码块,接受零个或多个参数,并返回一个值。Oracle提供了丰富的内置函数,如数学函数(如ROUND、TRUNC)、字符串函数(如SUBSTR、INSTR)和日期时间函数(如SYSDATE...
以上就是Oracle数据库中的一些重要数字处理函数,它们可以帮助你进行复杂的数学运算和数据转换。在实际应用中,这些函数常常与其他SQL语句结合使用,以满足特定的数据处理需求。了解并熟练掌握这些函数,能够极大地...
这篇博客“Oracle Spatial的简单应用”可能介绍了一些基本的Oracle Spatial的使用方法,虽然没有提供具体的细节,但我们可以深入探讨一下Oracle Spatial的相关知识点。 1. **什么是Oracle Spatial?** Oracle ...
### Oracle函数介绍(一):著名函数之单值 在Oracle数据库系统中,函数是非常重要的组成部分,它们提供了强大的数据处理能力。本篇文章将详细介绍Oracle中的一些著名单值函数及其应用场景。 #### 一、概述 ...
本文将深入探讨“Oracle简单应用”这一主题,主要关注在学习Oracle过程中的一些基础操作和实用技巧。 首先,Oracle数据库的核心是SQL(结构化查询语言),它是与数据库进行交互的语言。在Oracle中,我们可以通过SQL...
Oracle提供了一些内置的函数来帮助我们完成这个任务。本篇文章将深入探讨Oracle中用于拆分字符串的函数,并通过具体的示例展示它们的用法。 1. **instr() 函数** `instr()` 是Oracle中的一个内建函数,它用于查找...