oracle中 使用不了,Oracle 中不使用NOT IN 和 NOT EXISTS的另一种方法

用LEFT JOIN 代替NOT IN 或 NOT EXISTS:

SQL> conn scott/tiger

Connected.

SQL> CREATE TABLE testa

2  (

3   id number,

4   value varchar2(10)

5  );

Table created.

SQL> INSERT INTO testa VALUES(1,'a');

1 row created.

SQL> INSERT INTO testa VALUES(2,'b');

1 row created.

SQL> INSERT INTO testa VALUES(3,'c');

1 row created.

SQL> INSERT INTO testa VALUES(4,'d');

1 row created.

SQL> INSERT INTO testa VALUES(5,'e');

1 row created.

SQL> INSERT INTO testa VALUES(6,'f');

1 row created.

SQL> COMMIT;

Commit complete.

SQL> CREATE TABLE testb AS

2  SELECT * FROM testa WHERE 1=0;

Table created.

SQL> INSERT INTO testb VALUES(2,'b');

1 row created.

SQL> INSERT INTO testb VALUES(4,'d');

1 row created.

SQL> INSERT INTO testb VALUES(6,'f');

1 row created.

SQL> COMMIT;

Commit complete.

用左连接,结果testb表里TempColum的值为NULL:

SQL> SELECT a.*,b.id "TempColum" FROM testa a LEFT JOIN testb b ON a.id=b.id;

ID   VALUE       TempColum

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

2       b                   2

4       d                   4

6       f                    6

5       e                   NULL

3       c                   NULL

1       a                   NULL

6 rows selected.

将NULL值过滤出来就是最后需要的结果:

SQL>

SELECT c.id,c.value FROM

(

SELECT a.*,b.id "TempColum" FROM testa a LEFT JOIN testb b ON a.id=b.id

) c

WHERE c."TempColum" IS NULL

ORDER BY c.id

SQL>

ID VALUE

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

1 a

3 c

5 e

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/497466.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

展望:模型驱动的深度学习

来源:《国家科学评论》概要:近年来,深度学习在人工智能领域一系列困难问题上取得了突破性成功应用。模型驱动的深度学习方法近年来,深度学习在人工智能领域一系列困难问题上取得了突破性成功应用。例如用于人脸识别已高于人的正确…

JPA架构

JPA(Java持久性API)是存储业务实体关联的实体的来源。它显示了如何定义一个面向普通Java对象(POJO)作为一个实体,以及如何与管理关系实体。 类级别架构 下图显示了JPA的类的层次结构。它显示核心类和JPA接口。 下表描述了每个在上述架构的显示单元。 单元描述Ent…

oracle link binaries,Oracle环境中使用NFS的mount选项

在oracle环境中使用NFS,在mount的时候需要修改一些选项,否则可能导致各种问题,比如ORA-27086和ORA-27054错误。不管你是将Oracle安装在NFS设备也好,是将datafile放置在NFS设备也好,是备份到NFS设备也好,如果…

Amazon Go开门营业,号称无需现金、无需排队结账,现场究竟体验如何?

来源:36氪概要:无人零售的鼻祖Amazon Go姗姗来迟,那么体验究竟如何呢?无人零售的鼻祖Amazon Go姗姗来迟,那么体验究竟如何呢?当地时间周一(1月22日),位于西雅图亚马逊总部…

JPA EntityManagers,事务及其周围的一切

介绍 对我来说,最令人困惑和不清楚的事情之一是,作为Java开发人员,一直是围绕事务管理的谜团,尤其是JPA如何处理事务管理。 事务什么时候开始,什么时候结束,实体的持久化方式,持久性上下文等等…

哪些是Linux内核的同步机制,Linux内核的同步机制(1)

Linux内核的同步机制(1)yanqin | 2009-04-16 14:51:09 阅读:791发布文章一、 引言%A%A 在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实象多进程多线程编程一样也需要一些同步机制来同步各执行单元对共享数据的访问。尤…

量子机器学习入门科普:解读量子力学和机器学习的共生关系

原作:Reena Shaw安妮 编译自 KDnuggets量子位 出品 | 公众号 QbitAI量子机器学习(Quantum ML)是量子力学和机器学习的一门交叉学科。两者间像一种共生关系,我们可以利用量子计算的力量生成机器学习算法的量子版本,并应…

linux 禁止 密码 登陆,CentOS设置证书登录并禁止密码登录

CentOS设置证书登录并禁止密码登录普通用户登录时,以往的做法往往是使用账号密码登录,但是这样的登录方式风险相当高,使用密钥登录能大大降低风险1. 生成密钥ssh 公钥认证是ssh认证的方式之一。通过公钥认证可实现ssh免密码登陆,s…

RedissonClient 缓存Bug

引入背景 期望RedissonClient 能定期更新&#xff0c;避免网络不稳定导致 Redis 连接失效&#xff0c;只能重启服务&#xff1f; 使用了Caffeine 缓存&#xff0c;自动 2 小时失效剔除RedissonClient /*** 本地缓存.*/private static final Cache<String, RedissonClient&g…

人工智能重构下的金融场景

来源&#xff1a;亿欧概要&#xff1a;从金融领域来看&#xff0c;国际银行业对人工智能的主要应用集中在资本运营、市场分析、客户营销、风险监管等方面。智能客服、智能投顾、智能量化交易……人工智能在金融领域存在巨大的发展空间&#xff0c;但其也使监管更加复杂。近年来…

linux中写脚本不能写中文,Linux系统中Sublime Text无法输入中文怎么办?

Sublime Text是一个代码编辑器&#xff0c;拥有强大的功能&#xff0c;但Sublime Text 在Linux下运行的时候存在无法输入中文的问题&#xff0c;遇到该问题该如何解决呢&#xff1f;下面小编就给大家介绍下Linux下Sublime Text 无法输入中文的解决方法。1.保存下面的代码为subl…

JMM设计原理之双重检查Lock

错误示例 public class DoubleCheckedLocking {/*** 单例.*/private static Instance instance;/*** 获取单例.* return 对象.*/public static Instance getInstance() {if (instance null) {synchronized (DoubleCheckedLocking.class) {if (instance null) {instance new…

深度学习引擎的终极形态是什么?

来源&#xff1a;微软研究院AI头条概要&#xff1a;1月17日&#xff0c;院友袁进辉博士回到微软亚洲研究院做了题为《打造最强深度学习引擎》的报告&#xff0c;分享了深度学习框架方面的技术进展。1月17日&#xff0c;院友袁进辉博士回到微软亚洲研究院做了题为《打造最强深度…

linux进程映像由哪些构成,Linux编程开发进程映像类型分析

进程与线程问题是程序员在学习编程开发语言需要重点掌握的编程知识之一&#xff0c;而今天我们就一起来了解一下&#xff0c;Linux编程开发中进程映像的执行标准。什么是进程映像呢?进程映像是执行程序时所需要的可执行文件&#xff0c;通常会包括下面这些东西代码段(codesegm…

JMM同步原语之final域的内存语义

final 域为引用类型 public class FinalReference {/*** final 域.*/final int[] arr;static FinalReference ref;public FinalReference() {arr new int[1];arr[0] 1;}public static void writeOne() {ref new FinalReference();}public static void writeTwo() {ref.arr[…

AI芯片之争白热化的当下,如何设计一款真正适用于终端的AI芯片?

来源&#xff1a;36氪概要&#xff1a;2017年&#xff0c;人工智能最火的风口一定是AI芯片。2017年&#xff0c;人工智能最火的风口一定是AI芯片。AI芯片的出现&#xff0c;与深度学习技术的成熟及应用密不可分。深度学习的过程可以简化理解为利用大量标注的数据进行训练&#…

linux nslookup命令安装,在CentOS中安装nslookup命令

域名查询工具nslookup并不是Win系统的专利&#xff0c;Linux系统中也可以使用&#xff0c;不过要安装&#xff0c;默认没有。在CentOS中安装nslookup命令:$ sudo yum install bind-utils这个bind-utils包&#xff0c;就包含了nslookup命令。Ubuntu系统应该也是一样的&#xff0…

李开复:AI巨头是有史以来最难以打破的垄断

来源&#xff1a;凤凰网概要&#xff1a;李开复认为目前最需要的是小的AI公司&#xff0c;甚至于打破巨头垄断局面的“破局者”也会是这些由小变大的AI公司。当地时间周二(1月23日)&#xff0c;世界经济论坛在瑞士达沃斯小镇正式举行&#xff0c;各国政要、企业家、学者云集。创…

杨立昆辞Facebook人工智能实验室主任,任首席科学家

来源&#xff1a;澎湃新闻概要&#xff1a;他将不再担任Facebook 人工智能实验室主任一职&#xff0c;改任Facebook首席人工智能科学家&#xff0c;从而能更加专注于带领科学研究与AI策略。当地时间1月23日&#xff0c;执掌Facebook人工智能实验室&#xff08;FAIR&#xff09;…

Redis系列一、redis介绍与安装

一、Redis介绍 redis是一种基于键值对&#xff08;key-value&#xff09;数据库&#xff0c;其中value可以为string、hash、list、set、sorted set等多种数据结构&#xff0c;可以满足很多应用场景。还提供了键过期&#xff0c;发布订阅&#xff0c;事务&#xff0c;流水线&am…