zoukankan      html  css  js  c++  java
  • [SQL 高级查询运算符的用法 UNION (ALL),EXCEPT(ALL),INTERSECT(ALL) ]

     

     

    今天看到 三个查询运算符,给大家分享分享

    为此我建立了两张表分别为 Articles 和  newArticles

    我建立的时候,只建立了一张表 Articles   ,表 newArticles 是根据SQL语句

    SELECT * INTO newArticles FROM Articleszhij

    直接创建的

    显示数据为


    UNION (ALL)

    UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中
    任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION AL
    L),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自
    TABLE2。

    SELECT Articles_Title  FROM dbo.newArticles
     UNION   
    SELECT Articles_Title FROM Articles 

    显示效果 

    SELECT Articles_Title  FROM dbo.newArticles
     UNION ALL
    SELECT Articles_Title FROM Articles 

    显示效果


     EXCEPT(ALL)

    EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重
    复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消
    除重复行。

    SELECT Articles_Title FROM Articles 
    EXCEPT 
    SELECT Articles_Title  FROM dbo.newArticles

    显示效果

    SELECT Articles_Title  FROM dbo.newArticles
    EXCEPT 
    SELECT Articles_Title FROM Articles 

    显示效果

    提示:数据的不同和表查询的顺序有关;  因版本问题, EXCEPT(ALL) 无法查询;


     INTERSECTALL(ALL)  

    INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复
    行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),
    不消除重复行。

    SELECT Articles_Title FROM Articles  
    INTERSECT 
    SELECT Articles_Title  FROM dbo.newArticles

    显示效果

    提示:因版本问题, INTERSECTALL(ALL)  无法查询;


     总结: UNION 返回两个结果集的并集 重复行合并,UNION ALL, 返回两个结果集的并集,重复行 不合并

       EXCEPT 返回两个结果集的差(即从左查询中返回右查询没有找到的所有非重复值)

             INTERSECT 返回 两个结果集的交集(即两个查询都返回的所有非重复值)

    限制条件:  

    (1)所有查询中的列数和列的顺序必须相同
    (2)比较的两个查询结果集中的列数据类型可以不同但必须兼容。
    (3)比较的两个查询结果集中不能包含不可比较的数据类型(xml、text、ntext、image 或非二进制 CLR 用户定义类型)的列
    (4)返回的结果集的列名与操作数左侧的查询返回的列名相同。ORDER BY 子句中的列名或别名必须引用左侧查询返回的列名。
    (5)不能与 COMPUTE 和 COMPUTE BY 子句一起使用。
    (6)通过比较行来确定非重复值时,两个 NULL 值被视为相等。(EXCEPT 或 INTERSECT 返回的结果集中的任何列的为空性与操作数左侧的查询返回的对应列的为空性相同。)
  • 相关阅读:
    HDOJ2010_水仙花数
    npm报错:无法加载文件 D: odejs ode_globalwebpack.ps1,因为在此系统上禁止运行脚本
    百度全景地图使用时提示flash版本过低 如何处理?
    寂静之声 的歌词的中文意思
    国产电脑操作系统有哪些?
    解决mac系统中npm全局安装提示没有权限的问题
    nodemon运行 提示错误:无法加载文件 C:UsersgxfAppDataRoaming pm odemon.ps1。
    git设置忽略文件及目录
    Element中的Cascader 级联选择器高度不能正常显示如何解决2
    wepy内网环境下进行项目初始化异常处理(Failed to download repo standard: read ECONNRESET)
  • 原文地址:https://www.cnblogs.com/shaopang/p/6913372.html
Copyright © 2011-2022 走看看