当前位置: 首页 > news >正文

Oracle Minus 取差集

Oracle Minuskeyword
  SQL中的MINUSkeyword
  SQL中有一个MINUSkeyword,它运用在两个SQL语句上,它先找出第一条SQL语句所产生的结果,然后看这些结果有没有在第二个SQL语句的结果中。假设有的话,那这一笔记录就被去除,而不会在最后的结果中出现。假设第二个SQL语句所产生的结果并没有存在于第一个SQL语句所产生的结果内,那这笔资料就被抛弃,其语法例如以下:
  [SQL Segment 1]
  MINUS
  [SQL Segment 2]
--------------------------------------------
//创建表1
create table test1
(
 name varchar(10),
 sex varchar(10),
);

insert into test1 values('test','female');
insert into test1 values('test1','female');
insert into test1 values('test1','female');
insert into test1 values('test11','female');
insert into test1 values('test111','female');

//创建表2
create table test2
(
 name varchar(10),
 sex varchar(10),
);
insert into test1 values('test','female');
insert into test1 values('test2','female');
insert into test1 values('test2','female');
insert into test1 values('test22','female');
insert into test1 values('test222','female');
-------------------------------------------

select * from test1 minus select * from test2;

结果:

NAME       SEX            
---------- ----------
test1      female            
test11     female 
test111    female
-----------------------------------------------------------

select * from test2 minus select * from test1;

结果:

NAME       SEX            
---------- ----------
test2      female            
test22     female 
test222    female

结论:Minus返回的总是左边表中的数据,它返回的是差集。注意:minus有剃重作用

==========================================================
 以下是我做的实验,非常明显可以看出MINUS的效率,made_order共23万笔记录,charge_detail共17万笔记录

性能比較:
  SELECT order_id FROM made_order
  MINUS
  SELECT order_id FROM charge_detail
  1.14 sec
  
  SELECT a.order_id FROM made_order a
  WHERE NOT exists (
   SELECT order_id
   FROM charge_detail
   WHERE order_id = a.order_id
   )
  18.19 sec
  
  SELECT order_id FROM made_order
  WHERE order_id NOT in (
   SELECT order_id
   FROM charge_detail
   )
  20.05 sec
  
  还有其他一下keyword:
  INTERSECT (交集)
  UNION ALL 并集

 

相关文章:

  • winform窗体取消最大化双击标题最大化
  • 初识 Cloudera Impala
  • php文件遍历
  • 如何让开机时,电脑用户自动登录?
  • 控制台登录,提示证书错误
  • 不高兴的小明
  • iis浏览网页时提示无法显示 XML 页
  • mvc和三层架构到底有什么区别
  • Java代码Bug分析插件 FindBugs
  • 网址
  • CSharp学习视频分享与开发技术QQ交流群
  • Docker如何管理数据
  • ORA-02050故障诊断一例
  • 初次体验百度eCharts遇到的问题和解决方法
  • Swoole 实例四(心跳检测)
  • 分享的文章《人生如棋》
  • 分享一款快速APP功能测试工具
  • Android优雅地处理按钮重复点击
  • Java比较器对数组,集合排序
  • Java的Interrupt与线程中断
  • Material Design
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • 高性能JavaScript阅读简记(三)
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 基于游标的分页接口实现
  • 人脸识别最新开发经验demo
  • 微信小程序填坑清单
  • 学习笔记:对象,原型和继承(1)
  • 优秀架构师必须掌握的架构思维
  • Mac 上flink的安装与启动
  • ​Java并发新构件之Exchanger
  • #LLM入门|Prompt#3.3_存储_Memory
  • #大学#套接字
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • $L^p$ 调和函数恒为零
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (bean配置类的注解开发)学习Spring的第十三天
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (小白学Java)Java简介和基本配置
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .NET6使用MiniExcel根据数据源横向导出头部标题及数据
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • @SpringBootApplication 包含的三个注解及其含义
  • [ 第一章] JavaScript 简史
  • [20140403]查询是否产生日志
  • [20170705]diff比较执行结果的内容.txt
  • [android] 看博客学习hashCode()和equals()
  • [Angular] 笔记 16:模板驱动表单 - 选择框与选项