zoukankan      html  css  js  c++  java
  • The difference between Union & Union All in SQL Server/pOSTGRESQL

    Following is test in SQL Server:

    USE [TestDB]
    CREATE TABLE [dbo].[UserInfoTest02](
        [number] [bigint] NOT NULL,
        [name] [varchar](20) NOT NULL,
        [age] [int] NOT NULL,
        [sex] [bit] NOT NULL,
        [address] [varchar](200) NULL
    )
    
    CREATE TABLE [dbo].[UserInfoTest03](
        [number] [bigint] NOT NULL,
        [name] [varchar](20) NOT NULL,
        [age] [int] NOT NULL,
        [sex] [bit] NOT NULL,
        [address] [varchar](200) NULL
    )
    
    CREATE TABLE [dbo].[UserInfoTest04](
        [SID] [bigint] NOT NULL,
        [name] [varchar](20) NOT NULL,
        [age] [int] NOT NULL,
        [sex] [bit] NOT NULL,
        [address] [varchar](200) NULL
    )
    
    Insert into UserInfoTest02
    (number,name,age,sex,address)
    Values
    (1, 'A',12,0,'A'),
    (2, 'B',12,0,'A')
    
    Insert into UserInfoTest03
    (number,name,age,sex,address)
    Values
    (1, 'A',12,0,'A'),
    (2, 'B',12,0,'BB')
    
    Insert into UserInfoTest04
    (SID,name,age,sex,address)
    Values
    (1, 'A',12,0,'A'),
    (2, 'B',12,0,'BB')
    
    
    SELECT SID, name,age,sex,address 
    FROM UserInfoTest04
    UNION ALL
    SELECT number,name,age,sex,address
    FROM UserInfoTest02

    --Test Result1

    SID    name    age    sex    address
    1    A    12    0    A
    2    B    12    0    BB
    1    A    12    0    A
    2    B    12    0    A
    SELECT SID, name,age,sex,address 
    FROM UserInfoTest04
    UNION
    SELECT number,name,age,sex,address
    FROM UserInfoTest02

    --Test Result2

    SID    name    age    sex    address
    1    A    12    0    A
    2    B    12    0    A
    2    B    12    0    BB

    SELECT number, name,age,sex,address 
    FROM UserInfoTest03
    UNION
    SELECT number,name,age,sex,address
    FROM UserInfoTest02

    --Test Result3

    number    name    age    sex    address
    1    A    12    0    A
    2    B    12    0    A
    2    B    12    0    BB

    Test in Postgresql:

    INSERT INTO "Test01"("SID", "Name") VALUES (1, 'A');
    INSERT INTO "Test01"("SID", "Name") VALUES (2, 'B');
    INSERT INTO "Test01"("SID", "Name") VALUES (3, 'C');
    
    INSERT INTO "Test02"("SID", "Name") VALUES (1, 'A');
    INSERT INTO "Test02"("SID", "Name") VALUES (2, 'B');
    
    INSERT INTO "Test03"("Number", "address") VALUES(1, 'A');
    INSERT INTO "Test03"("Number", "address") VALUES(2, 'B');
    SELECT "SID", "Name" FROM "Test01"
    UNION ALL
    SELECT "SID", "Name" FROM "Test02";

    --Test Result1:

    1;"A"
    2;"B"
    3;"C"
    1;"A"
    2;"B"

    SELECT "SID", "Name" FROM "Test01"
    UNION
    SELECT "Number", "address" FROM "Test03";

    --Test Result2:

    2;"B"
    1;"A"
    3;"C"

  • 相关阅读:
    安卓强制杀死进程的几种方法收集汇总
    android studio :Timeout waiting to lock daemon addresses registry
    20170825遇到的问题
    百度地图的那些坑
    静态内部类的加载方式
    C#文本转语音并保存wav和MP3文件
    一个ASPX页面的生命周期?
    用SQL替换最后一个指定字符后面的所有字符
    用SQL求1到N的质数和
    谈谈托管代码、IL、CLR、ISAPI?
  • 原文地址:https://www.cnblogs.com/chenyongblog/p/4891602.html
Copyright © 2011-2022 走看看