• SQL UNION 运算符


    1. SQL UNION运算符

    UNION运算符用于组合两个或更多SELECT语句的结果集,而不返回任何重复的行

    • UNION中的每个SELECT语句必须具有相同的列数
    • 这些列必须有相似的数据类型
    • 每个SELECT语句中的列顺序必须相同
    • 每个SELECT语句必须有相同数目的列表达式
    • 但每个SELECT语句长度不必相同

    2. SQL UNION语法1

    SELECT column_name(s) FROM table1
    UNION
    SELECT column_name(s) FROM table2;

    注释:默认情况下,UNION运算符选择一个不同的值。如果允许重复值,使用UNION ALL

    3. SQL UNION语法2

    SELECT column_name(s) FROM table1
    [WHERE condition]
    
    UNION
    SELECT column_name(s) FROM table2
    [WHERE condition]

     注释:UNION 结果集中的列名总是等于 UNION 中第一个SELECT 语句中的列名

    4. SQL UNION ALL语法1

    UNION ALL运算符用于组合两个SELECT语句(包括重复行)的结果。

    适用于UNION子句的规则也适用于UNION ALL操作符。

    SELECT column_name(s) FROM table1
    UNION ALL
    SELECT column_name(s) FROM table2;

    5. SQL UNION ALL语法2

    SELECT column_name(s) FROM table1
    [WHERE condition]
    UNION ALL
    SELECT column_name(s) FROM table2
    [WHERE condition]

    6. 演示数据库

    SQL UNION 实例

    下面的SQL语句从“Websites”和“apps”表中选取所有不同的country(只有不同的值)。

    SELECT country FROM Websites
    UNION
    SELECT country FROM apps
    ORDER BY country; 

    注释:UNION 不能用于列出两个表中所有的country。只会选取不同的值。

    SQL UNION ALL 实例

    下面的SQL语句从“Websites”和“apps”表中选取所有的country(也有重复的值)。

    SELECT country FROM Websites
    UNION ALL
    SELECT country FROM apps
    ORDER BY country; 

    带有 WHERE 的SQL UNION ALL

    下面的 SQL 语句从"Websites" 和 "apps" 表中选取所有的中国(CN)的数据(也有重复的值):

    SELECT country, name FROM Websites
    WHERE country='CN'
    UNION ALL
    SELECT country, app_name FROM apps
    WHERE country='CN'
    ORDER BY country; 

  • 相关阅读:
    中介者模式
    观察者模式
    javascript深入理解js闭包
    外观模式
    模板方法模式
    浅析C#深拷贝与浅拷贝
    C#浅拷贝与深拷贝区别
    6个重要的.NET概念:栈,堆,值类型,引用类型,装箱,拆箱
    原型模式
    设计模式总结
  • 原文地址:https://www.cnblogs.com/keye/p/14946504.html
Copyright © 2020-2023  润新知