zoukankan      html  css  js  c++  java
  • 14.UNION 和 UNION ALL 操作符

    union all   union

    UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
    请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。


    CREATE TABLE Employees_China(
       E_ID   INT              NOT NULL,
        E_Name  CHAR (25)              NOT NULL
    );
     
    CREATE TABLE Employees_USA(
       E_ID   INT              NOT NULL,
        E_Name  CHAR (25)              NOT NULL
    );

    INSERT INTO Employees_China (E_ID,E_Name) VALUES(1,'Zhang, Hua');
    INSERT INTO Employees_China (E_ID,E_Name) VALUES(2, 'Wang, Wei');
    INSERT INTO Employees_China (E_ID,E_Name) VALUES(3,'Carter, Thomas');
    INSERT INTO Employees_China (E_ID,E_Name) VALUES(4,'Yang, Ming');
    INSERT INTO Employees_USA (E_ID,E_Name) VALUES(1,'Adams, John');
    INSERT INTO Employees_USA (E_ID,E_Name) VALUES(2,'Bush, George');
    INSERT INTO Employees_USA (E_ID,E_Name) VALUES(3,'Carter, Thomas');
    INSERT INTO Employees_USA (E_ID,E_Name) VALUES(4,'Gates, Bill');

    mysql> select * from Employees_China;
    +------+----------------+
    | E_ID | E_Name         |
    +------+----------------+
    |    1 | Zhang, Hua     |
    |    2 | Wang, Wei      |
    |    3 | Carter, Thomas |
    |    4 | Yang, Ming     |
    +------+----------------+
    4 rows in set (0.06 sec)

    mysql> select * from Employees_USA;
    +------+----------------+
    | E_ID | E_Name         |
    +------+----------------+
    |    1 | Adams, John    |
    |    2 | Bush, George   |
    |    3 | Carter, Thomas |
    |    4 | Gates, Bill    |
    +------+----------------+
    4 rows in set (0.00 sec)
     
    1.
    mysql> SELECT E_Name FROM Employees_China
        -> UNION
        -> SELECT E_Name FROM Employees_USA;
    +----------------+
    | E_Name         |
    +----------------+
    | Zhang, Hua     |
    | Wang, Wei      |
    | Carter, Thomas |
    | Yang, Ming     |
    | Adams, John    |
    | Bush, George   |
    | Gates, Bill    |
    +----------------+
    7 rows in set (0.06 sec)
    注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。

    2.
    mysql> SELECT E_Name FROM Employees_China
        -> UNION ALL
        -> SELECT E_Name FROM Employees_USA;
    +----------------+
    | E_Name         |
    +----------------+
    | Zhang, Hua     |
    | Wang, Wei      |
    | Carter, Thomas |
    | Yang, Ming     |
    | Adams, John    |
    | Bush, George   |
    | Carter, Thomas |
    | Gates, Bill    |
    +----------------+
    8 rows in set (0.00 sec)

    另外,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。

  • 相关阅读:
    创业指南:如何实现打工族的老板梦
    在C#中压缩解压缩文件(适合.Net1.x)
    35岁之前成功的12条黄金法则
    郑州DOTNET俱乐部《DotNet实战之旅》活动邀请
    1baiwan.com你能走多远?(原创,请任意转载,作者:小张.net)
    MongoDB实战开发 【零基础学习,附完整Asp.net示例】
    TFS2010强制撤签锁定项
    持续集成理论和实践的新进展
    JQuery最佳实践
    IE下实现全屏两方法
  • 原文地址:https://www.cnblogs.com/yejibigdata/p/6376085.html
Copyright © 2011-2022 走看看