首页 > 其他分享 >union和union all区别

union和union all区别

时间:2023-11-30 12:33:20浏览次数:28  
标签:Table2 Insert Table1 区别 union into values

union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;

union All:对两个结果集进行并集操作,包括重复行,不进行排序;

 

下面进行简单的测试(因为是测试,所以sql代码写的很简单,没有什么很严格的规范,只是为了理解这两者之间的区别)

严格的标准写法应该先判断数据库是否存在,表是否存在等等约束


Create database Test; #建库
use Test; #选择库
  #创建表

  Create table Table1
  (
   id int not null,
   name varchar(20) not null
  );

  Create table Table2
  (
   id int not null,
   name varchar(20) not null
  );

  #插入记录

  Insert into Table1 values (1,'姚羽');
  Insert into Table1 values (2,'边兵兵');
  Insert into Table1 values (3,'袁磊');
  Insert into Table2 values (1,'姚羽');
  Insert into Table2 values (2,'柳春平');
  Insert into Table2 values (3,'张永超');
  Insert into Table2 values (4,'刘华健');


  测试开始:

select * from Table1;
  

 

select * from Table2;
  

 

  可以很容易的看到,上面插入的测试数据当中,有一条是重复的

  那么我们  先看执行union 看看:

select * from Table1
union
select * from Table2;
  

 

  重复的记录"姚羽"只显示一条。

  再执行union  all 看看:

  

 

    重复的记录"姚羽"显示两条,没有去重。

标签:Table2,Insert,Table1,区别,union,into,values
From: https://www.cnblogs.com/muxilaoshi/p/17867047.html

相关文章

  • SQL Server中left join、inner join和right join的区别?
    数据库是我们IT行家常的事情,相信大家都不陌生,计算机专业都开了数据库系统概论这门课程,我分享下在暑假找实习参加宣讲会过程做的笔试题中遇到关于leftjoin、innerjoin和rightjoin的区别的简述题,希望对需要的朋友有所帮助。看下面一个小例子,我懒的开软件,用Excel替代下,谅解谅解~st......
  • Windows下读文件二进制模式和文本模式的区别
    前段时间,碰到了一个奇怪的事情,我实现了一个读某文件的类,原本这个文件是以二进制写的,读的时候没太在意,将模式少写了一个“b”,变成了文本模式_tfopen_s(&pFile,m_file,_T("r"))测试了好些文件都没有问题,直到有一天,一同事反应读取函数有问题,数据被截断了。我看了半天,百思不得其......
  • dwva 的SQL注入一关解决” Illegal mix of collations for operation ‘UNION’“ 问
    我是在phpstudy上面搭建的dvwa背景是我在一天晚上练习SQL注入出现了”Illegalmixofcollationsforoperation‘UNION’“问题就在网上搜索解决办法,发现是因为users表和table表的编码方式不一样导致的网上查到了table_name的排序编码,然后下载解压phpMyAdmin放到WWW目录下......
  • C# 静态和非静态的区别
    静态标记– static//静态方法publicstaticvoidMax(){}//非静态方法publicvoidMax(){}//静态类publicstaticclassprogram{}//非静态类publicclassprogram{}静态和非静态的区别 1.在静态类中既可以有静态成员,也可以有非静态成员。 2.非静态成员也称为......
  • MPR图,MIP图,MiNP图区别
    1、多平面重建(MPR)是将扫描范围内所有的轴位图像叠加起来再对某些标线标定的重组线所指定的组织进行冠状、矢状位、任意角度斜位图像重组。优点:(1)能任意产生新的断层图像,而无需重复扫描。(2)原图像的密度值被忠实保持到了结果图像上。(3)曲面重组能在一幅图像里展开显示......
  • 绑定给类的方法,对象来调用;与绑定给对象的方法,类来调用的区别
    绑定给类的方法,类来调用,对象可以调用吗?#首先创建一个类,和绑定给类的方法indexclassMyClass:@classmethoddefindex(cls):print("helloindex")实例化对象:obj=MyClass()使用对象调用绑定给类的方法:obj.index()#返回hello......
  • python "\r\n" 与 "\n" 与 "\r" 与 "\n\r" 的区别
    在Python中,这些是表示换行或回车的特殊字符序列。它们的区别在于它们在不同操作系统上的使用习惯。\n:表示换行符,通常用于Unix、Linux和类似系统中。\r:表示回车符,通常用于老式的MacOS系统。\r\n:表示回车后跟换行符,通常用于Windows系统。\n\r:这个组合在实践中不太常见,通常不被使......
  • GPT闲记:用buffer读取文件数据和不用有什么区别
    :用buffer读取和不用有什么区别?请生动解释类比缓冲区对各种语言读取文件数据的作用。(删改了一些GPT废话 好的,让我用一个生动的类比来解释缓冲区的作用以及使用缓冲和不使用缓冲的区别。比喻:读取书籍1.不使用缓冲区:-想象你正在阅读一本书,但是每次只能读取一页,然后你必须停......
  • 插件和依赖的区别
    插件插件是Vue.js的扩展,它允许开发者在Vue实例中添加全局功能。插件通常是第三方库或模块,可以为Vue应用程序添加额外的功能和特性。Vue插件可以包括路由器、状态管理、数据验证、动画和第三方集成等。要使用Vue插件,我们需要首先通过Vue.use()函数将其安装到Vue应用程序中。这将注册......
  • >/dev/null 与 2>&1 作用与区别
    转载请注明出处:在Linux中,>/dev/null 和 2>&1 是两个常用的重定向操作,它们用于控制命令的输出和错误信息。/dev/null 是Linux系统中的一个特殊文件,它是一个无处不在的数据黑洞。任何写入 /dev/null 的数据都会消失,不会有任何数据被保存下来。因此,command>/de......