• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    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
    • 閱讀 ( 1768 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    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 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆