转载:https://blog.csdn.net/kingmax54212008/article/details/33762921

union的特性,去重与不去重

集合操作有 并,交,差 3种运算。

 union :得到两个查询结果的并集,并且自动去掉重复行。不会排序

 union all:得到两个查询结果的并集,不会去掉重复行。也不会排序

 intersect:得到两个查询结果的交集,并且按照结果集的第一个列进行排序

 minus:得到两个查询结果的减集,以第一列进行排序

例子: 
  下面是两个表:一个主修课程表,一个选修课程表。 
这个是主修课程表:minors 
     create table minors( 
         minor_id number primary key, 
         minor_name varchar2(30) not null, 
         credit_hour number(2) 
      ) 
插入3条记录:                
    insert into minors values(10101,'计算机原理',4) 
      insert into minors values(10201,'自动控制原理',3) 
      insert into minors values(10301,'工程制图原理',4) 
下面创建选修课程表minors2 
       create table minors2( 
         minor_id number primary key, 
         minor_name varchar2(30) not null, 
         credit_hour number(2) 
       ) 
插入两条记录: 
        insert into minors2 values(10201,'自动控制原理',3) 
       insert into minors2 values(10301,'工程制图原理',4)

(1)两个表使用union all:得到如下结果 
        select minor_id,minor_name,credit_hour from minors union all 
       select minor_id,minor_name,credit_hour from minors2 order by     credit_hour 
结果: 
MINOR_ID MINOR_NAME                     CREDIT_HOUR 
---------- ------------------------------ ----------- 
     10201 自动控制原理                             3 
     10201 自动控制原理                             3 
     10101 计算机原理                               4 
     10301 工程制图原理                             4 
     10301 工程制图原理                             4

(2)、两个表使用union :得到如下结果 
select minor_id,minor_name,credit_hour from minors union 
    select minor_id,minor_name,credit_hour from minors2 order by credit_hour 
结果: 
MINOR_ID MINOR_NAME                     CREDIT_HOUR 
---------- ------------------------------ ----------- 
     10201 自动控制原理                             3 
     10101 计算机原理                               4 
     10301 工程制图原理                             4

(3)、两个表使用intersect :得到如下结果 
     select minor_id,minor_name,credit_hour from minors intersect 
    select minor_id,minor_name,credit_hour from minors2 
结果: 
MINOR_ID MINOR_NAME                     CREDIT_HOUR 
---------- ------------------------------ ----------- 
     10201 自动控制原理                             3 
     10301 工程制图原理                             4

(4)两个表使用minus :得到如下结果

    select minor_id,minor_name,credit_hour from minors minus 
    select minor_id,minor_name,credit_hour from minors2 
结果: 
MINOR_ID MINOR_NAME                     CREDIT_HOUR 
---------- ------------------------------ ----------- 
     10101 计算机原理                               4

union的特性,去重与不去重的更多相关文章

  1. SqlServer中的UNION操作符在合并数据时去重的原理以及UNION运算符查询结果默认排序的问题

    本文出处:http://www.cnblogs.com/wy123/p/7884986.html 周围又有人在讨论UNION和UNION ALL,对于UNION和UNION ALL,网上说的最多的就是 ...

  2. MySQL—增删改查,分组,连表,limit,union,alter,排序,去重

    MySQL增删改查 在表格的增删改查中,查的内容是最多的,包括group by ,join,limit,union,alter,排序都是服务于查的 #sql语句数据行操作补充 #增加: #insert ...

  3. JS实现字符串去重,数组去重

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. JQuery标签去重与数组去重

    如图所示: 代码: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head ...

  5. MySQL 查询重复的数据,以及部分字段去重和完全去重

    1.查找表中多余的重复记录(多个字段) select * from vitae a where (a.peopleId,a.seq) in  (select peopleId,seq from vit ...

  6. javascript数组去重 js数组去重

    数组去重的方法 一.利用ES6 Set去重(ES6中最常用) function unique (arr) { return Array.from(new Set(arr)) } var arr = [ ...

  7. URL去重与文章去重的一些基本方法

    一.url去重url存到数据库所有url放到set中(一亿条占用9G内存)md5之后放到set中(一亿条占用2,3G的内存)scrapy采用的就是类似方法bitmap方法(url经过hash后映射到b ...

  8. 面试题常考&必考之--js中的数组去重和字符串去重

    1.引入:首先得知道数组没有可以直接去重的方法,即直接[].unique()是不支持的, 会报“Uncaught TypeError: [].unique is not a function”错误, ...

  9. mysql 查询语句去重 通过sql去重

    url 在表中具有唯一性: 由于定时任务的多进程/代码的多线程/定时任务的调度/脚本的执行时间,导致,破坏了唯一性: SELECT COUNT(1) FROM test_error_tmpUNION ...

随机推荐

  1. Java中float型最大值大于long型?

    float型在内存中占用的是4个字节的空间,而long型占用的是8个字节的空间. 注:float类型的范围是:一3.403E38~3.403E38.而long类型的范围是:-2^63~2^63-1(大 ...

  2. OO Homework One Notes

    系数/指数 过大 溢出(True) eg. - +999999999454554999999 * x ^ -85858554545454545548585858858 x前存在两个符号,与x有空格分离 ...

  3. Burnside引理与Polya定理

    感觉这两个东西好鬼畜= = ,考场上出了肯定不会qwq.不过还是学一下吧用来装逼也是极好的 群的定义 与下文知识无关.. 给出一个集合$G = \{a, b, c, \dots \}$和集合上的二元运 ...

  4. webpack 4 简单介绍

    webpack是什么? webpack是一个现代JavaScript应用程序的静态模块打包器(module bundler). 为什么要使用webpack呢? 随着web技术的发展,前端开发不再仅仅是 ...

  5. Xaramin IOS 开发常见问题

    调试时提示找不到obj某某文件,勾选后编译,再取消勾选后再次调试 APP不能上网(而且无法通过配置允许上网的APP,因为根本 找不到需要的APP),不要使用IOS11测试版本,自动禁网 截图路径 %U ...

  6. JHipster生成微服务架构的应用栈(一)- 准备工作

    本系列文章演示如何用JHipster生成一个微服务架构风格的应用栈. 环境需求:安装好JHipster开发环境的CentOS 7.4(参考这里) 应用栈名称:appstack 认证微服务: uaa 业 ...

  7. Docker Data Center系列(一)- 快速搭建云原生架构的实践环境

    本系列文章演示如何快速搭建一个简单的云原生架构的实践环境. 基于这个基础架构,可以持续部署微服务架构的应用栈,演练敏捷开发过程,提升DevOps实践能力. 1 整体规划 1.1 拓扑架构 1.2 基础 ...

  8. 使用Ajax轮询模拟简单的站内信箱(消息管理)功能

    前一段时间项目需要写一个类似于站内信箱的消息管理的功能,由于对前端不是很熟悉,刚开始不知道怎么做,后来看了网上的方案,现模拟一个非常简单的消息管理. 我们首先看一下最终效果的样式,就是非常简单的一个样 ...

  9. PJSUA2开发文档--第七章 呼叫 Calls类

    7   呼叫Calls 呼叫由Call类处理 7.1 子类化Call类 要使用Call类,应用程序应创建子类,如: class MyCall : public Call { public: MyCal ...

  10. centos7操作记录

    /root/wang/shell  存放练习的shell文件,快捷命令wsh(alias  wsh='cd /root/wang/shell') /root/wang/OS_bak  存放系统备份文件 ...