union 和 union all 哪一个会去掉重复的数据

数据库中的 union 和 union all 是两种毗连体例,此中的一种会去失落反复的成果,别的一种是不会去失落反复值的。那么,到底哪一种会去重呢?本文将为您具体演示

东西/原料

  • sqlserver

方式/步调

  1. 1

    建立一个姑且表,用于演示sqlserver数据库中,union和union all的利用,以及哪一种会去重。假设有一个姑且表,存储一年级的学生名字,此处假设名字不反复

    IF OBJECT_ID('tempdb..#tblGrade1') IS NOT NULL DROP TABLE #tblGrade1; 

    CREATE TABLE #tblGrade1(

        StuName varchar(50) 

    );

  2. 2

    建立别的一个姑且表,

    IF OBJECT_ID('tempdb..#tblGrade2') IS NOT NULL DROP TABLE #tblGrade2; 

    CREATE TABLE #tblGrade2(

        StuName varchar(50)

    );

  3. 3

    往姑且表中插入几行测试数据,模拟学生名字,此中两个表中插入一个不异名字的记实

    insert into #tblGrade1(StuName) values('张三');

    insert into #tblGrade1(StuName) values('李四');

    insert into #tblGrade2(StuName) values('王五');

    insert into #tblGrade2(StuName) values('张三');

  4. 4

    查询姑且表中的测试数据

    select * from #tblGrade1;

    select * from #tblGrade2;

  5. 5

    利用union毗连两个表的学生名称列,从成果可以看出,union的成果,学生名字是不反复的

    select StuName from #tblGrade1

    union

    select StuName from #tblGrade2

  6. 6

    利用union all毗连两个表的学生名称列,从成果可以看出,union all的成果,是两个表的所有成果

    select StuName from #tblGrade1

    union all

    select StuName from #tblGrade2

  7. 7

    union毗连的两个成果集是会主动去重的;union all是所有记实,反复的也呈现,因为all的意思就是全数,所以,不去重

  • 发表于 2019-05-28 22:02
  • 阅读 ( 1757 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

联系我们:uytrv@hotmail.com 问答工具