`

not in子查询的用法

 
阅读更多

not in()  本质是 or   datavar not in ( 查询条件   ,null )  相当于  not ( datavar = 查询条件 or datavar =null)

如果datavar = 查询条件  为 false   那么  not  null 返回false;

如果datavar  = 查询条件 为 true  那么返回 true ; 只要有null值都 返回false且查不出数据

 

SQL语句的执行顺序  select Distinct <Top_sepicitioin> <select_list> from left_table <join_type> join right_table ON <on_condiction> where <where_condiction>  Group by <group_by_condiction> with {CUGB|ROLLUP}   having <having_condiction> order by <order by_list>   

ON  where Group by having  都可以看做是筛选器  筛选器可以看做是生成另外的表  

 

 

分享到:
评论

相关推荐

    使用In的子查询.rar

    4. **性能优化**:在某些情况下,`IN`子查询可能比`EXISTS`或`NOT EXISTS`子查询提供更好的性能。 5. **分组和聚合**:与`GROUP BY`和`HAVING`结合使用,可以找出满足特定条件的分组。 6. **集合操作**:`IN`可以...

    mysql子查询的用法

    多行子查询返回一组值,可以用IN或NOT IN与外部查询匹配。例如,查找只在特定部门工作的员工: ```sql SELECT employee_name FROM employees WHERE department_id IN (SELECT department_id FROM departments ...

    sql case when exists not exists in not in

    而`IN`和`NOT IN`在处理简单条件时较为直观,但如果与子查询结合,可能会导致全表扫描,影响性能。 在进行SQL晋级学习时,理解并熟练掌握这些操作符的用法至关重要。通过不断地实践和优化,能够编写出更高效、更...

    在ADO(sql)中使用SELECT的语法之六-子查询的使用方法

    ### 在ADO(SQL)中使用SELECT的语法之六——子查询的使用方法 #### 一、子查询概述 在SQL查询语言中,子查询是一个非常重要的概念。子查询是指在一个SQL命令内部嵌套另一个完整的SQL查询命令。通过使用子查询,我们...

    经典SQL查询总结关于Exists,not Exists.in ,not in效率的说明。

    **IN** 和 **NOT IN** 子句通常用于检查主查询中的某字段的值是否存在于(或不存在于)子查询返回的集合中。 1. **IN** - **语法结构**: ```sql SELECT * FROM t1 WHERE t1.c1 IN (SELECT c2 FROM t2); ``` ...

    子查询相关练习

    ### 子查询相关知识点 #### 一、子查询概述 子查询是指在一个SQL查询语句中包含另一个查询语句的情况。这种结构允许我们基于内层查询的结果来执行...掌握子查询的使用方法,对任何数据库开发人员来说都是非常重要的。

    子查询是指一条SELECT语句作为另一条SELECT语句的一部分,外层的SELCT语句称为外部查询,内层的SELECT语句称为内部查询(或子查询)

    - **子查询返回一个值列表**:这类子查询返回多个值,用于与外部查询中的IN、NOT IN、ANY或ALL等运算符配合使用。 #### 三、子查询返回单个值的应用示例 **例30**:查询所有价格高于平均价格的书。 ```sql use ...

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

    NOT EXISTS 是一种条件判断运算符,用于判断子查询是否不返回结果集。如果子查询不返回结果集,则条件成立,否则不成立。其基本语法为: `NOT EXISTS ()` 其中,`&lt;query&gt;` 是子查询语句。如果子查询不返回结果集,...

    子查询课程实验

    - 多行子查询:返回多行结果集的子查询,常用于IN或NOT IN操作符中。 - 表子查询:返回一个完整表结构的子查询,常用于FROM子句中,相当于临时表。 2. 子查询的位置: - FROM子句:子查询可以作为一个临时表替代...

    NOT EXISTS ⇔ NOT IN ⇒ NOT NULL 问题 结果不一样 疑问 如果等效

    - 使用 `NOT IN` 当你需要排除与子查询结果相匹配的所有值时,注意处理空值的情况。 - 使用 `NOT NULL` 来确保数据完整性,并与其他操作符结合使用以获得更精确的查询结果。 通过以上分析可以看出,虽然 `NOT ...

    25.6 MySQL 子查询

    MySQL 子查询是一种在SQL查询语句中嵌套其他查询的方法,它允许我们在一个查询中使用另一个查询的结果。子查询可以作为SELECT语句的一部分,也可以出现在FROM或WHERE子句中,甚至可以在HAVING子句中使用。它们为...

    Hibernate 函数 ,子查询 和原生SQL查询

    4. **关联子查询**:子查询可以与主查询的关联一起使用,用于更复杂的条件判断。 **原生SQL查询** 虽然Hibernate提供了ORM的方式,但有时我们可能需要使用原生的SQL查询来访问数据库,尤其是当ORM无法满足复杂需求...

    mysql子查询精炼版.pdf

    多行子查询返回一个值集,可以使用`IN`、`NOT IN`、`ALL`、`ANY`、`SOME`等操作符。例如: - `IN`:主查询中的条件必须匹配子查询结果集中的任意一项,如`job IN (SELECT job FROM emp WHERE deptno = 10)`。 - `...

    oracle子查询相关帮助

    - **集合操作**:`IN`(在子查询结果集中)、`NOT IN`(不在子查询结果集中)、`ANY`(主查询的值至少匹配子查询的一个值)、`ALL`(主查询的值必须匹配子查询的所有值)。 - **关联子查询**:将子查询的结果与主...

    子查询与高级查询PPT学习教案.pptx

    总结起来,本章的学习涵盖了子查询的分类、使用方法以及各种操作符的应用,这些都是进行复杂SQL查询的关键技能,对于理解和处理多表数据至关重要。通过深入理解和实践,可以提高在数据库管理、数据分析等IT领域中的...

    oracle表连接和子查询实例

    - **NOT IN**:排除那些在子查询结果中的记录。 - **应用场景**:通常用于统计或查找非经理级别的员工信息。 #### 五、唯一薪资值不在任何其他员工薪资以下的员工 **SQL语句**: ```sql SELECT DISTINCT sal FROM ...

    oracle 子查询

    ### Oracle 子查询详解 #### 一、子查询概述 在Oracle数据库中,子查询(也称为嵌套查询)是一种非常强大的SQL特性,它允许在一条SQL语句中嵌入...掌握子查询的使用方法对于深入理解和高效利用Oracle数据库至关重要。

    MySql如何使用not in实现优化

    然而,当处理大量数据时,尤其是与子查询结合使用时,这些操作可能导致性能问题。`NOT IN` 子句在某些情况下可能会执行全表扫描,这在大数据集上非常耗时。本文将探讨如何通过优化 `NOT IN` 查询来提高 MySQL 的执行...

    sql语句优化之用EXISTS替代IN、用NOT EXISTS替代NOT IN的语句

    在子查询中,NOT IN子句将执行一个内部的排序和合并,无论在哪种情况下,NOT IN都是最低效的(因为它对子查询中的表执行了一个全表遍历)。为了避免使用NOT IN,我们可以把它改写成外连接(Outer Joins)或NOT ...

Global site tag (gtag.js) - Google Analytics