`

Oracle in & exists

阅读更多
--IN 转换为 EXISTS 和 NOT EXISTS
SELECT * FROM test2 t2 WHERE t2.col1 IN ('2' );
SELECT * FROM test2 t2 WHERE EXISTS (SELECT * FROM test2 t WHERE t.col1 = t2.col1 AND t.col1 = '2' )
SELECT * FROM test2 t2 WHERE NOT EXISTS (SELECT * FROM test2 t WHERE t.col1 = t2.col1 AND t.col1 != '2')

--NOT IN 转换为 EXISTS 和 NOT EXISTS
SELECT * FROM test2 t2 WHERE t2.col1 NOT IN ('2');
SELECT * FROM test2 t2 WHERE EXISTS (SELECT * FROM test2 t WHERE t.col1 = t2.col1 AND t.col1 != '2' );
SELECT * FROM test2 t2 WHERE NOT EXISTS (SELECT * FROM test2 t WHERE t.col1 = t2.col1 AND t.col1 = '2');

分享到:
评论

相关推荐

    oracle数据库关于exists使用

    oracle数据库关于exists使用方法与in的比较

    in和exists性能解析

    oracle in和exists性能解析

    oracle中exists_和in的效率问题详解

    oracle中exists_和in的效率问题详解

    in和exists的区别

    “exists”和“in”是Oracle中,都是查询某集合的值是否存在在另一个集合,但对不同的数据有不同的用法,主要是在效率问题上存在很大的差别,以下有两个简单例子,以说明 “exists”和“in”的效率问题。

    简述Oracle中in和exists的不同

    一直以来,大家认为exists比in速度快,其实是不准确的。且看接下来的具体分析:in其实是将外表和内表进行hash join,exists是先对外表进行loop操作,然后每次loop后再对内表进行查询。 如果两张表大小差不多,那么...

    sql in,exists,not in,not exists区别

    里面自己根据网上的资源整理出来的一份sql中in,exists,not in,not exists的使用方法以及注意事项等,有助于初学的朋友们借鉴。

    Oracle In和exists not in和not exists的比较分析

    一个是问in exist的区别,一个是not in和not exists的区别

    Oracle: minus | in | exists

    NULL 博文链接:https://wuaner.iteye.com/blog/1671927

    oracle advanced sql 高级SQL教程 ORACLE官方教材

    Using a Subquery in the FROM Clause 4-10 Scalar Subquery Expressions 4-11 Scalar Subqueries: Examples 4-12 Correlated Subqueries 4-14 Using Correlated Subqueries 4-16 Using the EXISTS Operator 4-18 ...

    Oracle内部培训汇总

    oracle进阶教程 1、优化器 2、连接 3、in和exists 4、hint 5、index 6、收集统计信息 7、优化技巧

    oracle管理及优化文档 粗略整理

    尽量用not exists 或者外连接替代 not in 操作符。因为not in不能 应用表的索引 3。尽量不用<> 或者!= 操作符。不等于操作符是永远不会用到索引的,因此 对它的处理只会产生全表扫描,改为 a> XX or a 4.在设计...

    Oracle数据库SQL语句优化策略

    基本的Sql编写注意事项 尽量少用IN操作符,基本上所有的IN操作符都可以用EXISTS代替 用IN写出来的SQL的优点是比较容易写及清晰易懂,但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不用IN的...

    oracle高级sql讲解课程

    with子句使用,集合操作,case应用,行列互换,4 exists与in、not exists与not in

    oracle语句优化.docx

    oracle语句优化:多表关联,exists ,in ORACLE对每个SQL都会对其进行分析,占用共享内存,服务器当前性能(共享内存、磁盘文件碎片)、数据库对象(表、索引)统计信息

    oracle rac日常基本维护命令

    WHERE group_number IN (select group_number from v$asm_diskgroup where name = 'ORCL_DATA1'); PATH ---------------------------------- ORCL:VOL1 ORCL:VOL2  二: 启动/停止RAC集群 确保是以 oracle ...

    Oracle_Database_11g完全参考手册.part2/3

    13.1.3 EXISTS及其相关子查询的使用 13.2 外部连接 13.2.1 Oracle9i以前版本中的外部连接的语法 13.2.2 现在的外部连接语法 13.2.3 用外部连接代替NOTIN 13.2.4 用NOTEXISTS代替NOTIN 13.3 自然连接和内部连接 13.4 ...

    Oracle_Database_11g完全参考手册.part3/3

    13.1.3 EXISTS及其相关子查询的使用 13.2 外部连接 13.2.1 Oracle9i以前版本中的外部连接的语法 13.2.2 现在的外部连接语法 13.2.3 用外部连接代替NOTIN 13.2.4 用NOTEXISTS代替NOTIN 13.3 自然连接和内部连接 13.4 ...

    oracle的sql优化

    用Exist或Not Exists来代理In。In进行子查询效率很差。 5.SQL语句分析  通过SQLPLUS中的SET TRACE 功能对Sql语句的性能进行分析  通过Toad或PL/SQL Developer对语句的性能进行和索引的使用情况进行分析  对Oracle...

Global site tag (gtag.js) - Google Analytics