zoukankan      html  css  js  c++  java
  • MySQL集合操作类型

    SQL语言包含3个集合操作符(union、intersect、expect)以执行各种集合操作。
    此外,每个集合操作符可以有两种修饰符:一个表是包含重复项,另一个表是去除重复项(但不一定时所有的重复项)。

    union操作符

    union与union all操作符可以连接多个数据集,它们的区别在于union对连接后的集合排序并去除重复项,而union all保留重复项。

    使用union all 得到的最终数据集的行数总是等于所要连接的各集合的行数之和,该操作时最易于执行的集合操作(从服务端的观点看),因为服务器不需要检查重复的数据。例:

    SELECT 'IND' type_cd, cust_id, lname name 
    FROM individual
    UNION ALL 
    SELECT 'BUS' type_cd, cust_id, name 
    FROM business;
    

    如果需要连接后的表排除重复行,那么需要使用union操作符来替代union all:

    SELECT emp_id
    FROM employee
    WHERE assigned_branch_id = 2
    AND (title = 'Zifeiy' OR title = 'Zifeiy Wang')
    UNION
    SELECT DISTINCT open_emp_id
    FROM account 
    WHERE open_branch_id = 2;
    

    intersect操作符

    ANSI的SQL规范中定义了intersect操作符来执行集合交操作,但是MySQL6.0还没有支持,不过在Oracle或SQL Server 2008中可以使用它。

    except操作符

    ANSI SQL规范规定了except操作符以执行集合差操作,MySQL 6.0还未实现except操作符。

  • 相关阅读:
    Simple ASP.NET CORE 2.2 App +Vue JS
    Upload Image to .NET Core 2.1 API
    Nginx支持WebSocket服务
    DD打卡
    Asp.net Core 源码-PagedList<T>
    Asp.net Core 源码-UrlExtensions
    Asp.net Core 源码-SessionExtensions
    树莓派资源集合
    frp内网穿透
    Nuget包含cssjs等资源文件
  • 原文地址:https://www.cnblogs.com/zifeiy/p/8807243.html
Copyright © 2011-2022 走看看