1. null if       nvl     nvl2

NULLIF函数

Oracle NULLIF函数语法为NULLIF(表达式1,表达式2),如果表达式1和表达式2相等则返回空值,如果表达式1和表达式2不相等则返回表达式1的结果。

注意:表达式1和表达式2应该是相同数据类型或能隐含转换成相同数据类型,表达式1不能用字符null。  www.2cto.com

示例1:如果sal为888的则返回空

[sql]

SQL> select a.ename,a.sal,nullif (sal,8888) value from emp a;

ENAME                       SAL      VALUE

-------------------- ---------- ----------

SMITH                        99         99

ALLEN                      8888

WARD                       8888

NVL2(expr1,expr2,expr3) 

  功能:如果参数表达式expr1值为NULL,则NVL2()函数返回参数表达式expr3的值;如果参数表达式expr1值不为NULL,则NVL2()函数返回参数表达式expr2的值。 NVL( string1, replace_with)

  功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数都为NULL ,则返回NULL。
 

COALESCE函数

Oracle COALESCE函数语法为COALESCE(表达式1,表达式2,...,表达式n),n>=2,此表达式的功能为返回第一个不为空的表达式,如果都为空则返回空值。

注意:所有表达式必须为同一类型或者能转换成同一类型。  www.2cto.com

示例一:在emp表中给comm列为空的人员设为200

[sql]   www.2cto.com

SQL> select a.empno,a.ename,comm,coalesce(comm,200)new_comm from emp a;

EMPNO ENAME                      COMM   NEW_COMM

---------- -------------------- ---------- ----------

7369 SMITH                                  200

7499 ALLEN                       300        300

2.

MIN(), MAX()是聚合函数.
group by 后面是要跟着的 select 中所有不是聚合函数的字段。
ex1: select count(*) from emp; //只是查询总总数 emp这张表里一共有多少条记录 所以不用group by
ex2: select count(*) , deptno from emp group by deptno;
// 根据deptno 分组, 查到的数据就是 列出 不同部门 记录总数
select count(*) , deptno , comm from emp group by deptno , comm;
// 根据deptno 和 comm 分组 以此类推
group by 后面是要跟着的 select 中所有不是聚合函数的字段 否则会报错。
 

having 相当于where     
与where的唯一区别是 
当查询语句中有 聚合函数 的时候 就不能用where 了  只能用having

3. join

http://www.cnblogs.com/lovemoon714/archive/2012/03/02/2376782.html

4. DECODE

含义解释:
decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)

该函数的含义如下:
IF 条件=值1 THEN
    RETURN(翻译值1)
ELSIF 条件=值2 THEN
    RETURN(翻译值2)
    ......
ELSIF 条件=值n THEN
    RETURN(翻译值n)
ELSE
    RETURN(缺省值)
END IF
decode(字段或字段的运算,值1,值2,值3)

这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3
当然值1,值2,值3也可以是表达式,这个函数使得某些sql语句简单了许多

OCP prepare 20140628的更多相关文章

  1. OCP prepare 20140703

    1. trim trim('aaa' from 'aaabbbccc') 这个是错误的.ora-30001: trim set should have only one character 2. in ...

  2. OCP prepare 20140701

    1. rman的完全备份,和不完全备份 Oracle 数据库可以实现数据库不完全恢复与完全恢复.完全恢复是将数据库恢复到最新时刻,也就是无损恢复,保证数据库无丢失的恢复.而不完全恢复则是根据需要特意将 ...

  3. OCP prepare 20140627

    1. catalog start with catalog start with 是一个很好的命令. 有了这个命令后,  基本上可以不再使用catalog数据库了 . 因为可以通过这个命令将以前的备份 ...

  4. OCP prepare 20140626

    1. 查询空值  条件为<>''   是查不出结果的. 如果要查,应该使用  is not null 来查. QUESTION NO: 135 View the Exhibit and e ...

  5. OCP考点实战演练01-备份恢复篇

    本系列宗旨:真正掌握OCP考试中所考察的技能,坚决不做Paper OCP! 实验环境:RHEL 6.4 + Oracle 11.2.0.4 OCP考点实战演练01-备份恢复篇 1.数据库开启归档 2. ...

  6. OCP考点实战演练02-日常维护篇

    本系列宗旨:真正掌握OCP考试中所考察的技能,坚决不做Paper OCP! 实验环境:RHEL 6.4 + Oracle 11.2.0.4 OCP考点实战演练02-日常维护篇 1.数据库体系结构和AS ...

  7. Looper.prepare()和Looper.loop()

    什么时候需要 Looper Looper用于封装了android线程中的消息循环,默认情况下一个线程是不存在消息循环(message loop)的,需要调用Looper.prepare()来给线程创建 ...

  8. java.lang.NoSuchMethodException: org.apache.ibatis.executor.statement.StatementHandler.prepare(java.sql.Connection)

    此错误是由于版本造成的,如果使用mybatis3.4版本以上,配置拦截器规则应增加Intger @Intercepts({ @Signature( type= StatementHandler.cla ...

  9. Oracle OCP 1Z0-053 Exam Topics

    根据OU官方发布的考试大纲,OCP 1Z0-053考点如下: 1. Database Architecture and ASM Describe Automatic Storage Managemen ...

随机推荐

  1. 商人过河问题(二)java实现

    本文实现的java版商人过河是参考http://wenku.baidu.com/link?url=dpe2AC8mCjpGnclFv6iZy88_vqYm3bED4QDpSkAI4ssgs7Bhntu ...

  2. Android 指定纯色图标的颜色

        最近项目用到了系统图标,但是设计师设计的颜色却与系统图标不一样: 如果每张图片都要用Photoshop进行颜色填充势必增加了工作量,而且不灵活,占资源: 例如同一张图片,希望点击的时候改变颜色 ...

  3. STL set接口中使用结构体类型

    需要在结构体中重载'<'运算符,下面是我写的一个例子: #include<iostream> #include<set> using namespace std; str ...

  4. KMP精讲

    KMP算法 —— next 数组的应用 --- 前缀中最小循环节,最大重复次数 在大神的基础上添加了一点自己的理解: 从图片中可以看出next数组中存的值就是最近一次最近一次循环节的下标... 在KM ...

  5. Android分析第三方应用layout的神器

    hierarchyviewer.bat或者monitor.bat一直都是分析layout的神器,只是.非常多时候不好用,连不上真机,害的我不得不使用模拟器来分析layout. 今天发现了另外一个神器. ...

  6. ab -n -c

    ab是apache自带的一个很好用的压力测试工具,当安装完apache的时候,就可以在bin下面找到ab 1 我们可以模拟100个并发用户,对一个页面发送1000个请求 ./ab -n1000 -c1 ...

  7. (转)ASP.NET缓存概念及其应用浅析

    ASP.NET缓存概念及其应用浅析 ASP.NET缓存是什么呢?ASP.NET缓存有什么样子的特点呢?本文就向你详细介绍ASP.NET缓存的相关情况. ASP.NET缓存概念是什么呢?通常,应用程序可 ...

  8. T-SQL索引

    索引 使用索引可以提高查询速度,不是越多越好,会损耗存储空间.应用于出现在where子句中的列建立索引.可以使用sql server 内置工具Profiler捕捉在SQL Server实例上执行的活动 ...

  9. (转)对mysql explain讲的比较清楚的

    转自:http://www.blogjava.net/persister/archive/2008/10/27/236813.html 在 explain的帮助下,您就知道什么时候该给表添加索引,以使 ...

  10. putty修改编码

    在窗口标题上点击右键,选择 Change Settings... 在打开的配置窗口左边选择 Appearance,在右边点 Font settings 里面的 Change 按钮,选择好中文字体,比如 ...