01.select * from emp where emp_no not in (select emp_no from emp_bill)
select * from emp where emp_no not in (select emp_no from emp_bill)
因为NOT IN 效率比较低,因此需要优化,有两种方法:
方法一:
01.select * from emp a where not exists (select 1from emp_bill b where b.emp.no=a.emp_no)
select * from emp a where not exists (select 1from emp_bill b where b.emp.no=a.emp_no)
select 1 是一种用法,也可以select 某字段 或者select 'x'都行的,也就是说exists其实是判断是否有数据返回,而不关心返回的数据。
方法二:
01.select a. * from emp a ,emp_bill b where a.emp_no = b.emp_no( + ) and b.emp_no is n
select a. * from emp a ,emp_bill b where a.emp_no = b.emp_no( + ) and b.emp_no is n
分享到:
相关推荐
本文将探讨如何通过优化 `NOT IN` 查询来提高 MySQL 的执行效率。 原始的 SQL 查询如下: ```sql SELECT s.SORT_ID, s.SORT_NAME, s.SORT_STATUS, s.SORT_LOGO_URL, s.SORT_LOGO_URL_LIGHT FROM SYS_...
在处理大量数据时,尤其需要注意避免使用效率较低的操作符,如`IN`和`NOT IN`。这些操作符虽然在编写时提供了简洁和易读性,但在执行效率上往往不如其他替代方法。本文将深入探讨`IN`和`NOT IN`的替代方案,并通过...
SQL语句优化——in,not in,exists,not exists, left join...on博客所需SQL语句.txt欢迎下载!
SQL语句优化之用EXISTS替代IN、用NOT EXISTS替代NOT IN的语句 SQL语句优化是数据库性能优化的重要方面之一。在许多基于基础表的查询中,为了满足一个条件,往往需要对另一个表进行联接。在这种情况下,使用EXISTS...
这两个操作符常用于优化查询性能,避免使用`IN`或`NOT IN`可能导致的全表扫描。 ```sql -- 找出有订单的客户 SELECT customer_id FROM customers WHERE EXISTS (SELECT 1 FROM orders WHERE orders.customer_id = ...
- 使用 LEFT JOIN 替换 IN,例如:`SELECT * FROM A WHERE id IN (SELECT id FROM B)` 可以优化为 `SELECT * FROM A LEFT JOIN B ON A.id = B.id WHERE B.id IS NOT NULL`。 #### 四、总结 以上提到的优化方法...
### 经典SQL查询总结关于Exists, not Exists, IN, not IN 效率的说明 在数据库查询操作中,存在着多种方法来实现相似的功能,但不同的实现方式在性能上可能会有显著差异。本文将深入探讨 SQL 中 `EXISTS`, `NOT ...
在SQL查询优化中,`IN`、`EXISTS`、`NOT IN`和`NOT EXISTS`是四个常见的比较和过滤条件,它们在不同场景下有不同的性能表现。以下是对这些操作符优化原则的详细说明: 1. **EXISTS的执行流程**: `EXISTS` 子查询...
SQL语句优化——in,not in,exists,not exists, left join...on博客所需SQL语句2.txt,欢迎下载!
"SQL中对not in和not exist查询的替代算法.pdf" 本文主要讨论了SQL中对not in和not exist查询的替代算法。首先,作者简要介绍了SQL语言的基本概念和特点,然后讨论了not in和not exist查询的低效性及其原因。接着,...
### MySQL数据库In子句优化详解 #### 一、引言 在MySQL数据库的实际应用中,`IN`子句被广泛用于处理多个值的情况。当涉及到大量数据时,如何有效地使用`IN`子句成为了提高查询性能的关键。本文将详细介绍如何针对`...
### Relocation Value Does Not Fit in 24 Bits:由来及对策 #### 一、问题背景与概述 在使用VxWorks系统时,用户在处理PowerPC架构下的代码时经常会遇到一个错误:“Relocation value does not fit in 24 bits”...
Python的"not in"操作符是编程中一种高效的数据检查手段,尤其在处理集合类数据结构如列表、元组、字典和字符串时...通过以上的介绍和示例,你应该对"not in"有了更深的理解,可以在实际项目中灵活运用,优化你的代码。
【描述】:文章并未直接提供描述,但从标题推测,该内容可能涉及数据库查询优化,特别是关于`not in`和`not exists`两种SQL查询子句的不同使用方式和性能比较。 【标签】:SQL优化,查询性能,数据库管理 【正文】...
- 在某些情况下,可以考虑使用外连接或`IS NULL`结合`NOT IN`来替代`NOT EXISTS`,尤其是在基于成本的优化器中,这可能带来更好的性能。 6. 总结: `IN`和`EXISTS`主要取决于哪个查询能更快地返回结果,而`NOT IN...
在某些情况下,`NOT IN`可能因为优化器的决定而表现出更好的性能。 综上所述,尽管`EXCEPT`和`NOT IN`在逻辑上等价,但它们在实际执行时的性能表现可能有很大差异。在处理大规模数据时,`EXCEPT`通常会提供更好的...
MySQL优化之in,exists,not in,not exists的区别in与existsin查询过程结论:exists查询过程:结论:not in与not existsnot in查询过程:结论:not exists查询过程:结论: 首先我们使用两个用户表作为实例 insert ...