1.在语句中找到和消除空值

select first_name,last_name from hr.employees where commission_pct is null

  is null 和 is not null ,null值不跟任何值相等 ,任何值不和null相等,null不等于null。

2.排序

  Oracle 支持区分大小写和不区分大小写两种排序方式。有一个环境变量 NLS_SORT 可以控制排序是否区分大小写。

默认是区分大小写的,即 NLS_SORT = BINARY ,大写的值会排在前面。

   如果希望排序不区分大小写则将变量值设置为 BINARY_CI。

alter session set NLS_SORT = 'BINARY_CI'

  当然我们也可不改变变量值,使用UPPER和LOWER函数把需要比较和排序的字段都转为大写或小写后进行排序。

当我们进行“=”比较时,我们可以在比较时不区分大小写,只需要将会话中的变量NLS_COMP由BINARY改为 LINGUISTIC。

查看session中这些变量的sql如下:

select * from nls_session_parameters

3.MERGE语句的使用

功能:将新数据插入到表中。

记录是否存在,由主键进行判断,如果主键不存在该表,则插入该行。如果主键信息存在,则通过匹配键的其他详细信息更新该行。

egg: 将NEW_COUNTRIES表中的一些国家信息添加到HR.COUNTIES表中。

merge into hr.countries c
using
( select country_id,country_name
from hr.new_countries) nc
on (c.country_id = nc.country_id)
when matched then
update set c.country_name = nc.country_name
when not matched then
insert (c.country_id,c.country_name)
values(nc.country_id,nc.country_name)

  

Oracle SQL 疑难解析读书笔记(一 基础)的更多相关文章

  1. Oracle SQL 疑难解析读书笔记(二、汇总和聚合数据)

    2.1 对某字段的值进行汇总 仅仅在两种特殊情况下,Oracle在聚合函数中考虑了NULL值.第一种是在GROUPING功能里,用来检验包含了NULL值的分析函数的结果,是直接由所在的表得来,还是由分 ...

  2. 《[MySQL技术内幕:SQL编程》读书笔记

    <[MySQL技术内幕:SQL编程>读书笔记 2019年3月31日23:12:11 严禁转载!!! <MySQL技术内幕:SQL编程>这本书是我比较喜欢的一位国内作者姜承尧, ...

  3. 《Troubleshooting SQL Server》读书笔记-CPU使用率过高(下)

    <Troubleshooting SQL Server>读书笔记-CPU使用率过高(下) 第三章 High CPU Utilization. CPU使用率过高的常见原因 查询优化器会尽量从 ...

  4. Oracle SQL 硬解析和子游标

    Oracle SQL 硬解析和子游标 What reasons will be happening sql hard parse and generating new child cursors 在一 ...

  5. Activity源码解析 - 读书笔记

    1. Activity启动 Activity是一个比较好的模板方法模式.在Android系统启动时,第一个启动的进程是zygote进程,然后由zygote启动SystemServer,再后就是启动AW ...

  6. oracle sql 高级编程 历史笔记整理

    20130909 周一 oracle sql 开发指南 第7章 高级查询 1.层次化查询select level,ttt.*,sys_connect_by_path(ttt.col1,',') fro ...

  7. SQL反模式读书笔记思维导图

    在写SQL过程以及设计数据表的过程中,我们经常会走一些弯路,会做一些错误的设计.<SQL反模式>这本书针对这些经常容易出错的设计模式进行分析,解释了错误的理由.允许错误的场景,并给出更好的 ...

  8. The art of multipropcessor programming 读书笔记-硬件基础1

    本系列是 The art of multipropcessor programming 的读书笔记,在原版图书的基础上,结合 OpenJDK 11 以上的版本的代码进行理解和实现.并根据个人的查资料以 ...

  9. The art of multipropcessor programming 读书笔记-硬件基础2

    本系列是 The art of multipropcessor programming 的读书笔记,在原版图书的基础上,结合 OpenJDK 11 以上的版本的代码进行理解和实现.并根据个人的查资料以 ...

随机推荐

  1. (转)为什么国外 MMORPG 中不采用自动寻路等功能?

    不只是自动寻路,现在网游中的教学引导系统,辅助系统的功能强大程度,友好程度都可以说到了变态的程度,开发这些功能投入的资源甚至要超过游戏内容本身.究其原因,还是竞争越来越激烈,人心越来越浮躁,游戏商家为 ...

  2. 零基础学html第一天

    html:超文本标记语言 unicode(UTF-8):万国码 <...>:标记标签   :空格 <br>:换行 <hr>:水平线 <p></p& ...

  3. python基础之生成器、三元表达式、列表生成式、生成器表达式

    生成器 生成器函数:函数体内包含有yield关键字,该函数执行的结果是生成器,生成器在本质上就是迭代器. def foo(): print('first------>') yield 1 pri ...

  4. ORA-01122: 数据库文件 1 验证失败

    1.SQL>shutdown abort 如果数据库是打开状态,强行关闭 2.SQL>sqlplus / as sysdba 3.SQL>startupORACLE 例程已经启动. ...

  5. Android面试收集录11 Window+Activity+DecorView+ViewRoot之间的关系

    一.职能简介 Activity Activity并不负责视图控制,它只是控制生命周期和处理事件.真正控制视图的是Window.一个Activity包含了一个Window,Window才是真正代表一个窗 ...

  6. Mysql 表转换成 Sqlite表

    目前的转换仅仅支持对没有外键的Mysql数据表 准备: 下载安装 Sqlite Expert 软件 一 获取Mysql中的.sql文件,获取过程省略可以直接导出sql文件 二 在Sqlite Expe ...

  7. struts2官方 中文教程 系列三:使用struts2 标签 tag

    避免被爬,先贴上本帖地址:struts2 官方系列教程一:使用struts2 标签 tag http://www.cnblogs.com/linghaoxinpian/p/6901316.html 本 ...

  8. Spring Boot :Request请求处理流程

    技术交流群:233513714

  9. 《Cracking the Coding Interview》——第1章:数组和字符串——题目1

    2014-03-18 01:25 题目:给定一个字符串,判断其中是否有重复字母. 解法:对于可能有n种字符的字符集,用一个长度为n的数组统计每个字符的出现次数,大于1则表示有重复. 代码: // 1. ...

  10. C语言中强制类型转换总结

    C语言中强制类型转换总结  ● 字符型变量的值实质上是一个8位的整数值,因此取值范围一般是-128-127,char型变量也可以加修饰符unsigned,则unsigned char 型变量的取值范围 ...