zoukankan      html  css  js  c++  java
  • 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; 

  • 相关阅读:
    C++学生成绩管理系统
    蓝桥杯算法训练 最大最小公倍数
    蓝桥杯基础练习 完美的代价
    vim编辑器的使用技巧
    C语言中static关键字的用法
    在linux环境下编译运行OpenCV程序的两种方法
    Linux中gcc编译器的用法
    浅谈Java中的hashcode方法
    读CopyOnWriteArrayList有感
    徐汉彬:Web系统大规模并发——电商秒杀与抢购(技术实现)
  • 原文地址:https://www.cnblogs.com/keye/p/14946504.html
Copyright © 2011-2022 走看看