Oracle的in/not in(x,...,null)
简述
cola in (x,y,z)等价于 cola=x or cola=y or cola=z
cola not in (x,y,z)等价于 !(cola=x or cola=y or cola=z) 等价于 cola!=x and cola!=y and cola!=z
再说 cola=null和cola!=null,这两个表达式的结果都是false
然后就能看出来
cola in (x,y,...,z,null) 等价于 cola in (x,y,...,z)意思就是多你一个不多反正是 compareResult or false = compareResult,
cola not in (x,y,...z,null) 等价于 false 因为 compareResult and false = false,也就是把它放到where语句里面查不到任何记录。
参照地址http://x-spirit.iteye.com/blog/615603
今后我们在使用中记得,如果是用了select * from tablea where cola not in (select colb from tableb)这种子查询的时候,一定
要注意了,因为万一子查询里面有空值,那么就会查询不到结果。
Oracle的in/not in(x,...,null)的更多相关文章
- Oracle坑之-空字符串与NULL
空字符串与NULL 首先有如下代码 SELECT * FROM Pdc_DataDomain DD INNER JOIN Pdc_DD_Table DDT ON DD.DataDomainID = D ...
- Oracle SQL篇(一)null值之初体验
从我第一次正式的写sql语句到现在,已经超过10年的时间了.我写报表,做统计分析和财务对账,我一点点的接触oracle数据库,并尝试深入了解.这条路,一走就是10年,从充满热情,到开始厌 ...
- 为什么说JAVA中要慎重使用继承 C# 语言历史版本特性(C# 1.0到C# 8.0汇总) SQL Server事务 事务日志 SQL Server 锁详解 软件架构之 23种设计模式 Oracle与Sqlserver:Order by NULL值介绍 asp.net MVC漏油配置总结
为什么说JAVA中要慎重使用继承 这篇文章的主题并非鼓励不使用继承,而是仅从使用继承带来的问题出发,讨论继承机制不太好的地方,从而在使用时慎重选择,避开可能遇到的坑. JAVA中使用到继承就会有两 ...
- Oracle与Sqlserver:Order by NULL值介绍
针对页面传参到in的子集中去进行查询操作的话,就会有in(xxx,null),这样就会导致查询的结果中其实直接过滤掉了null,根本就查不出来null的值.之前对于null的操作都是进行不同数据库的n ...
- Oracle的条件in中包含NULL时的处理
我们在写SQL时经常会用到in条件,如果in包含的值都是非NULL值,那么没有特殊的,但是如果in中的值包含null值(比如in后面跟一个子查询,子查询返回的结果有NULL值),Oracle又会怎么处 ...
- Oracle 在not in中使用null的问题
http://www.linuxidc.com/Linux/2012-07/66212.htm 以前还专门小总结过一下Oracle中关于NULL的一些问题,碰巧今天在看书的过程中又看到了另外一个以前没 ...
- Oracle使用order by排序关于null值处理
select * from dual order by age desc nulls last select * from test order by age asc nulls first sqls ...
- 【oracle】update 某字段为null
字段 = null 注意这个字段要可以为空
- hibernate查询oracle数据库表报错SQL state [null]; error code [17027]; 流已被关闭; nested exception is java.sql.SQLException: 流已被关闭
把表字段类型 long 修改为 number类型即可
随机推荐
- JavaScript的一点自我总结
学习前端不知不觉都两个月了,从零基础到现在,网页布局没多大问题,就是JS学的很差,有一段时间都怀疑自己是不是选错了.但自我调节后,心态发生了一些变化后,学习也没那么痛苦了.虽然做不到看代码像看初恋那样 ...
- 跨站脚本 XSS<一:介绍>
*XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任 跨站脚本(Cross-site scripting,通常简称为XSS)是一种网站应用程序的安全漏洞攻击,是代码注入 ...
- mysql中Timestamp,time,datetime 区别
一.TIMESTAMP[(M)] 时间戳.范围是’1970-01-01 00:00:00’到2037年. TIMESTAMP列用于INSERT或UPDATE操作时记录日期和时间. 如果你不分配一个值, ...
- 用单分子测序(single-molecule sequencing)和局部敏感哈希(locality-sensitive hashing)来组装大型基因组
Assembling large genomes with single-molecule sequencing and locality-sensitive hashing 好好读读,算法系列的好文 ...
- Python爬虫:一些常用的爬虫技巧总结
爬虫在开发过程中也有很多复用的过程,这里总结一下,以后也能省些事情. 1.基本抓取网页 get方法 import urllib2 url = "http://www.baidu.com&qu ...
- absolute和fixed
共同点: 改变行内元素的呈现方式,display设置为block:让元素脱离文档流,不占据空间:默认会覆盖到非定位元素上. 不同点: absolute的根元素是相对于static定位以外的第一个父元素 ...
- Hibernate 测试分析 好多题都是没认真看题错了。
此题目考查的是对Hibernate中交叉连接的理解.HQL支持SQL风格的交叉连接查询,交叉连接适用于两个类之间没有定义任何关联时.在where字句中,通过属性作为筛选条件,如统计报表数据.使用交叉连 ...
- java发送 get请求
package com.java.base; import java.io.BufferedReader; import java.io.InputStreamReader; import java. ...
- QB资料学习.01
1.多数据集的读取 A.取数SQL的配置,借用TStringList进行存储多个不同的取数SQL B.DBA取数: DBA.ReadMultipleDataSet(TStringList) C.结果 ...
- [css]input text ie6/7 border兼容问题
[border:none;]当border为“none”时对IE6/7无效边框依然存在 [border:0;]当border为“0”时,所有浏览器都一致把边框隐藏 [border:0;]把border ...