首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在NOT IN MySQL中使用UNION sub查询

在MySQL中,UNION子查询用于在NOT IN子句中使用多个子查询。它允许将多个查询的结果合并成一个结果集。

使用UNION子查询可以通过以下步骤完成在NOT IN子查询中使用:

  1. 编写第一个子查询,获取需要排除的数据集合。
  2. 编写第二个子查询,获取待查询的数据集合。
  3. 使用UNION关键字将两个子查询合并成一个结果集。
  4. 使用NOT IN子句将第二个子查询结果集中的数据排除。

下面是一个示例:

代码语言:txt
复制
SELECT column_name
FROM table_name
WHERE column_name NOT IN (
  SELECT column_name
  FROM table_name2
  UNION
  SELECT column_name
  FROM table_name3
);

在这个示例中,第一个子查询使用UNION关键字合并了table_name2和table_name3两个表的数据,并将结果集中的column_name列作为需要排除的数据集合。第二个子查询从table_name表中获取待查询的数据集合。最后,NOT IN子句将第二个子查询结果集中的数据排除,从而得到最终的查询结果。

需要注意的是,UNION子查询在执行过程中可能会对性能产生一定的影响,特别是在处理大量数据时。因此,在实际应用中,应谨慎使用UNION子查询,尽量优化查询语句的性能。

腾讯云提供了多种与MySQL相关的产品,如云数据库 MySQL版(https://cloud.tencent.com/product/cdb_mysql)、云数据库 TencentDB for MySQL(https://cloud.tencent.com/product/tencentdb_mysql)等,您可以根据具体需求选择适合的产品进行数据库部署和管理。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

mysqlunion使用

UNION使用 合并查询结果 利用UNION关键字,可以给出多条SELECT语句,并将它们的结果组合成单个结果集。合并时,两个表对应的列数和数据类型必须相同,并且相互对应。...各个SELECT语句之间使用UNIONUNION ALL关键字分隔。 语法格式: SELECT column,......FROM table2 UNION操作符 [在这里插入图片描述] UNION 操作符返回两个查询的结果集的并集,去除重复记录。...UNION ALL操作符 [在这里插入图片描述] UNION ALL操作符返回两个查询的结果集的并集。对于两个结果集的重复部分,不去重。...注意:执行UNION ALL语句时所需要的资源比UNION语句少。如果明确知道合并数据后的结果数据不存在重复数据,或者不需要去除重复的数据,则尽量使用UNION ALL语句,以提高数据查询的效率。

90510
  • MySQL学习笔记汇总(二)——分组查询、连接查询union

    目录 一、分组查询 分组函数(多行处理函数) 单行处理函数 分组查询 总结一个完整的DQL语句 查询结果集的去重 二、连接查询 内连接: 等值连接: 非等值连接: 自链接: 外连接: 三、union(...注意: 分组函数一般都会和group by联合使用,并且任何一个分组函数(count sum avg max min)都是group by语句执行结束之后才会执行的。...案例: 查询每个员工的部门名称,要求显示员工名和部门名。 非等值连接: 最大的特点是:连接条件的关系是非等量关系。...假设A和B表进行连接,使用外连接的话,AB两张表中有一张表是主表,一张表是副表,主要查询主表的数据,捎带着查询副表,当副表的数据没有和主表的数据匹配上,副表自动模拟出NULL与之匹配。...三、union( 可以合并集合(相加)) 案例: 查询 job 包含 MANAGER 和包含 SALESMAN 的员工 采用 union 来合并 今天的分享就到这里啦!!

    2K20

    mysqlunion和order by、limit

    NULL, `desc` varchar(100) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 (1)以下查询会报错误...like ‘A%’ union select * from test1 where name like ‘B%’ order by name 因为union不用括号的情况下,只能用一个order...by(想一想,如果union两边的order by的列名不一样会怎么样),这会对union后的结果集进行排序 或者改为: (select * from test1 where name like ‘A...%’ order by name) union (select * from test1 where name like ‘B%’ order by name) 这两个order byunion前进行...name like ‘B%’) limit 20 即后一个limit作用于的是union后的结果集,而不是union后的select 也可以加括号来得到你想要的结果 (select * from test1

    2.3K30

    Rustsaturating_sub使用

    饱和减法,如果减法运算的结果超出了数值类型的表示范围,结果会被“饱和”到该类型的最小(或最大)可表示值,而不是产生溢出。...关于saturating_sub Rust ,saturating_sub 方法是数值类型(如 u32, i32, u64, i64 等)的一个方法,用于执行饱和减法运算。...和saturating_sub正好相对. wrapping_sub 的作用 处理溢出:减法运算,如果结果超出了类型的表示范围,wrapping_sub 会使结果在类型的有效范围内循环(或“包裹”)。...避免溢出错误:“调试”模式下,Rust 默认会检查算术溢出。使用 wrapping_sub 可以避免因溢出而导致的运行时错误。...与直接减法相比: 直接减法: Rust ,直接使用 - 运算符进行减法时,如果在“调试”模式下发生溢出,程序会触发 panic(崩溃)。

    40010

    XCode如何使用高级查询

    对于一个框架来说,仅有基本的CURD不行,NewLife.XCode同时还提供了一个非常宽松的方式来使用高级查询,以满足各种复杂的查询需求。...(本文同样适用于其它任何数据访问框架) 先上图看一个复杂查询的效果图: image.png 这里有8个固定的查询条件和1个模糊查询条件,加上多表关联(7张表)、分页、统计,如果用传统的做法,这个查询会非常的复杂...XCode不支持多表关联(v7开始测底不支持,以前的支持太鸡肋,几乎从未使用),这种涉及多表关联的查询,就需要子查询来代替了,看看SearchWhere: image.png image.png 可以看到...各个小片段上使用MakeCondition格式化数据,保证这些代码能根据当前数据库生成相应的语句,使得系统能支持多数据库。比如时间日期类型,MSSQL是单引号边界,Access是井号边界。...NewLife.XCode下载地址:http://XCode.codeplex.com 没有很完整的教程,只有本博客的点点滴滴!

    5K60

    MySQL语法之unionunion all,你使用哪一个?

    所有表加起来磁盘上的文件大小总共是5G。 使用explain查看执行计划,发现对20个表做的都是全表扫描,最后还有个using temporary table 的字样,也就是使用了临时表。...我们可以使用set global variables的方法临时设置这个参数的值为0,那么就意味着动态的慢慢主动将buffer pool的脏页刷回磁盘,而不是通过关闭MySQL被动刷新,这个参数的默认值是...其实,MySQL,还可以使用union distinct来显示的指定union查询去重,union distinct语法和单独union的语法执行结果是一样的,只不是加了distinct之后,更加容易理解...这个案例给了我几点启发: 业务侧: 1、大表连接查询的时候,尽量不要使用union 的操作,因为union的操作要进行去重,所以会进行重复值的判断,这个判断过程消耗CPU和磁盘IO比较严重 2、可以使用...union all的方法代替union的方法,当然,如果表特别大,不建议使用union的方式进行查询,还是建议拆分成单个表进行查询,然后再汇总结果 3、如果表的字段有时间字段,定时任务取每天的增量数据可能比全量数据更加容易一些

    1.2K30

    MySQL语法之unionunion all,你使用哪一个?

    所有表加起来磁盘上的文件大小总共是5G。 使用explain查看执行计划,发现对20个表做的都是全表扫描,最后还有个using temporary table 的字样,也就是使用了临时表。...我们可以使用set global variables的方法临时设置这个参数的值为0,那么就意味着动态的慢慢主动将buffer pool的脏页刷回磁盘,而不是通过关闭MySQL被动刷新,这个参数的默认值是...其实,MySQL,还可以使用union distinct来显示的指定union查询去重,union distinct语法和单独union的语法执行结果是一样的,只不是加了distinct之后,更加容易理解...这个案例给了我几点启发: 业务侧: 1、大表连接查询的时候,尽量不要使用union 的操作,因为union的操作要进行去重,所以会进行重复值的判断,这个判断过程消耗CPU和磁盘IO比较严重 2、可以使用...union all的方法代替union的方法,当然,如果表特别大,不建议使用union的方式进行查询,还是建议拆分成单个表进行查询,然后再汇总结果 3、如果表的字段有时间字段,定时任务取每天的增量数据可能比全量数据更加容易一些

    1K20

    MYSQL 8 VS MYSQL 5.7 复杂查询 到底好了多少

    MySQL 8 最终是要大面积替换MYSQL5.7 , 之前的文字可能给人感觉MYSQL 8 还不如 MYSQL 5.7 ,实际上不然,任何东西新的一定有问题,解决解决就好了,复杂查询这块 MYSQL...下面是MYSQL 8 和 MYSQL 5.7 一个稍微复杂查询的执行计划 对比上面的图,一样的语句,一样的数据库,一样的表,一样的数据行数和内容,mysql 8 由于各种优化,去掉了 using firesort...filesort mysql 8.018 mysql 5.7.23 通过这两个例子可以看到,使用GROUP BY 这样的语句,没有特殊优化的情况下,,MYSQL 8 不在使用 FILESORT...当然也有一些差强人意的,下面的两个查询时间上基本相同,可能需要更多的将语句重新格式的时间,mysql 8 还慢了0.2秒 MYSQL 8 总体来说mysql hash join , 免filesort...的新功能对大部分查询语句是有帮助的,但实际上测试中有些简单的语句,MYSQL 8 并不能占据什么便宜,或者说还可能会比MYSQL 5.7 慢了“一眨眼” 的功夫。

    2.7K30

    MySql基础-笔记5 -WHERE 、UPDATE、DELETE、LIKE、UNION使用

    你可以 WHERE 子句中指定任何条件。你可以一个单独表同时更新数据。...FROM 命令来删除 MySQL 数据表的记录3.2、语法DELETE FROM table_name [WHERE Clause]如果没有指定 WHERE 子句,MySQL的所有记录将被删除...4.3、实际操作使用LIKE来查询study_tb1所有study_username为张三的数据图片4.4、其他使用like 匹配/模糊匹配,会与 % 和 _ 结合使用。'...LIKE和搭配使用查询张三,如“三”图片2、使用LIKE和搭配使用查询张三,如“张”图片3、使用LIKE和_搭配使用查询zhangsan,如“_san”图片5、UNION 操作符5.1、作用用于连接两个以上的...5.3、实际操作创建演示数据库study_tb2,再创建演示数据图片图片图片5.4、小结UNION 语句:用于将不同表相同列查询的数据展示出来;(不包括重复数据)UNION ALL 语句:用于将不同表相同列查询的数据展示出来

    1.4K30

    MYSQL 查询技巧 与 MYSQL 8 并行查询

    最近公司的系统一点点的开始了拆分,从ORACLE 转移到 MYSQL ,部分程序员的想法使用MYSQL还是没有转变过来,直接将ORALCE查询语句直接搬到了MYSQL。...使用MYSQL 重要的两点,1 逻辑上移,数据库不在是承担你逻辑的第一选择,程序的比重将变得更重要 2 数据库容器化,数据库将变得不再那么重要,而是仅仅是承载数据的地方,或者甚至高级的设计,数据库将变得可有可无...当然如果子查询能大幅度的降低参与计算的数据量,则还是可以对比继续使用的。...下面我们可以看看MYSQL 的index merge 的功能到底能提升查询性能多少 1 我们先关闭index_merge 很明显,索引都白搭了 2 我们打开index_merge 明显看到,查询使用...(*) 这样经常被诟病的查询方式也并行度获益。

    8.1K60

    MySQL查询中位数?

    导读 计算中位数可能是小学的内容,然而在数据库查询实现却并不是一件容易的事。我们今天就来看看都有哪些方法可以实现。 ? 注:本文所用MySQL版本无限制,所列题目均来源于LeetCode。...根据定义,为了查询中位数,我们需要知道3点信息: 总数是奇数个还是偶数个 待查找数字总数 每个数字的排序编号 前两点信息MySQL中非常简单,只需简单的count计数即可,而排序编号则需要借助辅助方法...MySQL8.0以上版本引入了窗口函数后非常容易实现,但以前的版本则仅可通过自定义变量的方式获得排序值。...实际上,虽然3种解法均为两表关联,但由于解法3涉及到相对更为复杂的计算,其效率竟然要比解法1和解法2低太多。 所以,不妨想想奥卡姆剃刀原理,大道至简、大巧不工、简单之美!...当然,当前LeetCode OJ是5.6版本,MySQL也不能使用窗口函数。

    6.4K10

    MySQL的join查询

    前言 Mysql的join是什么,join这个单词的意思是加入、参加、连接,而在数据库,也是连接的意思,将两个表连接起来查询出我们想要的数据。...两张表全连接的sql语句和查询的结果如下 SELECT * FROM test1 LEFT JOIN test2 ON test1.uid = test2.uid UNION SELECT * FROM...`uid`; [20210608204132317.png] ,test1的109和108,test2的100没有被查询出来 总结:查询到的内容是两个表共有的部分 6.左独有 [7f64dbcc47d5736d8a1a3fc32e862282...test1表独有108、109的数据 总结:查询的是左表右表没有的内容 7.右独有 [06ada01c20ebe487a33f578e6ada3214.png] 而test1和test2两张表去交集连接的...test2表独有100的数据 总结:查询的是右表左表没有的内容

    4K11

    mysql多表嵌套查询例子_mysql查询嵌套规则

    本文实例分析了MySQL嵌套查询。...EXISTS (SELECT * FROM Cities_Stores WHERE Cities_Stores.store_type = Stores.store_type); 范例三: 这个例子嵌套使用了...子查询可以使用任何普通查询使用的关键词:如DINSTINCT,GROUP BY,LIMIT,ORDER BY,UNION,ALL,UNION ALL等。...可以使用, =, =, 运算符进行比较,也可以使用ANY ,IN和SOME进行集合的匹配。 希望本文所述对大家MySQL数据库程序设计有所帮助。...您可能感兴趣的文章:MYSQL查询和嵌套查询优化实例解析 MySQL查询的几种常见形式介绍 mysql关联子查询的一种优化方法分析 PHP实现MySQL嵌套事务的两种解决方案 mysql嵌套查询和联表查询优化方法

    3.4K30

    .Net Core 2.0使用MySQL

    之前,我简单的介绍过.net core中使用Mongodb(见文章《.Net Core系列教程(三)——使用Mongodb》),也使用过PostgreSQL(但是没有写文章介绍怎么使用,只是文章《...下面说下怎样.net core中使用MySQL,这个问题网上随便一搜有很多,我的当然也是从网上搜索来的,只是用自己的语言再次整理下而已。...使用MySQL时,需要使用MySQL的驱动,之前MySQL官方没有出驱动的时候,需要使用第三方的,不过现在有官方的驱动,还是尽量使用官方的吧,我这里也以官方的为准。...需要注意的是,MySQL.Data需要安装最新版的(现在是6.10.3-rc版),旧版本不支持.net core 2.0 先在appsettings.json文件,添加数据库的配置: "ConnectionStrings...控制器,添加: private readonly IOptions _settings; 之后控制器的构造函数: public NewsController

    1.5K50
    领券